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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/eguid_1/article/details/52092016

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏芋道源码1024

面试必问:Spring 循环依赖的三种方式

引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错。下面说一下Sp...

8720
来自专栏运维猫

搭建Web SpeedTest网速测试工具

speedtest 是由意大利的一位90后爱打游戏爱跳舞机的逗B码农 Federico Dossena (见下图) 发布的一个项目:https://github...

18810
来自专栏大史住在大前端

Web高性能动画及渲染原理(1)CSS动画和JS动画

Web动画的本质是元素状态改变造成的样式变更,CSS动画和JS动画的区别并不是由语言来决定的,而是由两者的特点和适用场景来判断的。CSS动画简洁高效,提升交互体...

13330
来自专栏达达前端

vue.js 从基础到实战

在实例化 Vue 时,需要传入一个选项对象,它可以包含数据、模板、挂载元素、方法、生命周期钩子等选项。

7910
来自专栏TLingC's Zone

在ThinkPHP中使用Laravel Mix

参照Laravel Mix文档,可以用在独立项目中,因此可以在ThinkPHP根目录下,参照Laravel项目,建立如下两个文件:

11030
来自专栏GA小站

1.1.6 、GA跟踪和数据传输原理

GA通过在网页中嵌入一段GA的JS跟踪代码,然后这段代码会收集相关信息通过虚拟1像素的gif图片的形式来发送相关的信息给Google的服务器,以完成数据采集。之...

11120
来自专栏相约机器人

具有EC2自动训练的无服务器TensorFlow工作流程

机器学习训练工作通常是时间和资源密集型的,因此将这一过程整合到实时自动化工作流程中可能会面临挑战。

8910
来自专栏授客的专栏

python yield关键词使用总结

简单来说,yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 gene...

6330
来自专栏GA小站

1.1.7、新旧版跟踪代码的对比

最新的GA的跟踪代码都是analytics.js,对应在GTM中就是Universal Analytics,新版的跟踪代码发送的URL上出现关键字是“colle...

10120
来自专栏机器学习算法与Python学习

4分钟看尽Top编程语言15年沉浮:C#默Java泪,Python终上位!

在不同的时代,这个问题也有着不同的答案,而一部编程语言的使用人数变迁史,实际上也是一部计算机世界的成长编年史。

15120

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励