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. C#枚举、结构、数组、排序
  2. springboot+redis
  3. 全球Top10最佳移动统计分析sdk
  4. android 在使用studio 编写百度地图中遇到APP Scode码校验失败 问题
  5. storyboard tabbarcontroller设置tab的图片
  6. 前端网站helper
  7. bzoj1043 下落的圆盘
  8. 设计模式23---设计模式之装饰模式(Decorator)(结构型)
  9. Bloom Filter概念和原理
  10. 【STM32学习笔记1】基于固件库的STM32_MDK工程模版
  11. 基于struct2完整的用户登录
  12. JavaEE XML SAX解析
  13. 2.1 实践篇:使用ping来检测网速
  14. nnet3的并行化训练
  15. python中的魔法属性
  16. MySQL报错总结
  17. Sql server中 如何用sql语句创建视图
  18. C# 2018.9.17
  19. 大数据入门第十二天——sqoop入门
  20. 二叉树 c++

热门文章

  1. Mac Hadoop2.7.2的安装与配置
  2. JS中Object常用的一些属性和方法
  3. linux基础 作业篇
  4. 关于quotename的用法
  5. mongodb的简明使用
  6. IOS的自定义控件
  7. 盘点国内外那些有野心的BI公司
  8. 接上一篇中记录Echarts进度环使用【不同状态不同进度环颜色及圈内文字】--采用单实例业务进行说明
  9. hdu1507 Uncle Tom's Inherited Land* 二分匹配
  10. centOS的命令行与图形页面之间的转换