您的位置:首页 > 产品设计 > UI/UE

requirejs如何使用define定义一个模块

2018-02-28 15:44 603 查看
AMD规范全称是Asynchronous Module Definition,即异步模块加载机制。从它的规范描述页面看,AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制。

require定义一个模块是通过 define function (name, deps, callback)完成的,第一个参数是定义模块名,第二个参数是传入定义模块所需要的依赖,第三个函数则是定义模块的主函数,主函数和require的回调函数一样,同样是在依赖加载完以后再调用执行。

1.当没有任何依赖的时候可以按照下面的来写

define(function(){
return{
decs : 'this js will be request only if it is needed',
};
})


2.当有相关依赖时可以按下面的来写

define(['jquery'],function($){
return function (){
alert('asas');
};
})


3.为什么我始终都没有使用name来定义自己的模块名

如果你细心,你可能会发现,刚刚define函数,有一个参数name是用来定义模块名的(也就是第一个传参),为什么上面两个例子都没有用到。其实我确实可以添加模块名,如下:

define(['jquery'],function($){
return function (){
alert('asas');
};
})


但是,这样做感觉不很有必要,因为如果哪一天我将这个文件转移到其他目录下,那我就得在这这里再修改一次模块名。官方其实也不推荐,用官方的说法是:让优化工具去自动生成这些模块名吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: