requirejs如何使用define定义一个模块
2018-02-28 15:44
603 查看
AMD规范全称是Asynchronous Module Definition,即异步模块加载机制。从它的规范描述页面看,AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制。
require定义一个模块是通过 define function (name, deps, callback)完成的,第一个参数是定义模块名,第二个参数是传入定义模块所需要的依赖,第三个函数则是定义模块的主函数,主函数和require的回调函数一样,同样是在依赖加载完以后再调用执行。
1.当没有任何依赖的时候可以按照下面的来写
2.当有相关依赖时可以按下面的来写
3.为什么我始终都没有使用name来定义自己的模块名
如果你细心,你可能会发现,刚刚define函数,有一个参数name是用来定义模块名的(也就是第一个传参),为什么上面两个例子都没有用到。其实我确实可以添加模块名,如下:
但是,这样做感觉不很有必要,因为如果哪一天我将这个文件转移到其他目录下,那我就得在这这里再修改一次模块名。官方其实也不推荐,用官方的说法是:让优化工具去自动生成这些模块名吧!
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'); }; })
但是,这样做感觉不很有必要,因为如果哪一天我将这个文件转移到其他目录下,那我就得在这这里再修改一次模块名。官方其实也不推荐,用官方的说法是:让优化工具去自动生成这些模块名吧!
相关文章推荐
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块
- requirejs如何使用define定义一个模块