• Dojo初探之2:设置dojoConfig详解,dojoConfig参数详解+Dojo中预置自定义AMD模块的四种方式(基于dojo1.11.2)


    Dojo中想要加载自定义的AMD模块,需要先设置好这个模块对应的路径,模块的路径就是这个模块的唯一标识符。

    一、dojoConfig参数设置详解

    var dojoConfig = {
        baseUrl: "/js",
        has: {
            //用于定义dojo的火狐浏览器bug检测模块
            "dojo-firebug": true,
            "dojo-debug-messages": true
        },
        //用于定义dojo核心示范异步加载,true:异步,false:同步
        async: true,
        //如果为true则立即加载deps数组中所有的依赖JS,如果为false则忽略deps数组
        parseOnLoad: false,
        //用于页面加载时立即加载的JS依赖
        deps: ["dojo/parser"],
        //这个方法与deps关联,执行这个回调方法直到deps项加载完毕
        callback: function(parser) {},
        //加载一个模块的请求超时时间,如果超时说明加载模块失败
        waitSeconds: 5,
        //如果为true可以避免模块缓存(原理就是在请求模块的URL加上当前时间戳)
        cacheBust: true
    }


    二、Dojo中预置自定义AMD模块的四种方式:

    1、通过baseUrl定义预置模块的根路径

    var dojoConfig = {
            baseUrl: "/js"
        }

    2、通过packages数组进行定义预置AMD模块

    //name是该模块标识符名称,localtion为模块所在的路径

    var dojoConfig = {
        packages: [
            { name: "package1", location: "../lib/package1" },
            { name: "package2", location: "/js/package2" }
        ]
    };

    补充:如果这个模块的路径是在根目录下的子目录,我们可以这样定义:

    //获取当前项目根目录+模块所在目录

     packages: [{
            name: "js",
            location: location.pathname.replace(//[^/]*$/, '') + '/js'
        }]

    3、通过paths定义模块路径,等同于packeges方式

    //packages数组中定义模块标识符名称,对应的paths数组中定义模块的路径

    var dojoConfig = {
        packages: [
            "package1",
            "package2"
        ],
        paths: {
            package1: "../lib/package1",
            package2: "/js/package2"
        }
    };


    4、通过map定义模块到不同的路径

    var dojoConfig = {
        map : {
            dijit16 : {
                dojo : "dojo16"
            }
        }
    }



  • 相关阅读:
    《信息安全系统设计基础》实验一 开发环境的熟悉
    20145208 《信息安全系统设计基础》第七周学习总结
    20145208 《信息安全系统设计基础》第六周学习总结
    TCP基本概念
    UNP学习笔记1——基本TCP套接字编程
    C++内存分配方式——小结
    APUE学习笔记7——进程间通信
    哈希表的概念和简单的实现算法
    APUE学习笔记6——线程和线程同步
    C++面向对象的设计思想——小结
  • 原文地址:https://www.cnblogs.com/eguid/p/6821603.html
Copyright © 2020-2023  润新知