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

来源:互联网 发布:淘宝几双销量上首页 编辑:程序博客网 时间:2024/04/19 22:15

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"
        }
    }
}



1 0
原创粉丝点击