AMD规范的一些注意点【2018-03-31】
2019-03-15 本文已影响0人
南慕瑶
一、define("myModule",[a,b],function(){ });
1."myModule":当前模块名
2.[a,b]:依赖的外部模块
3.function:回调函数。依赖的外部模块全部加载完毕后,执行。
其他情况:
1.模块名可省略:define([a,b],function(){ });匿名模块,模块名就是它的文件路径。
2.不依赖其他模块:
define({a:111,b:222});
或
define(function(){ return {a:111,b:222} }); 函数的返回值必须是一个对象,它就是输出的模块。
3.当一个模块不依赖其他模块时,eg:define('a',[ ],function(){ });直接执行回调函数(可以认为依赖立即加载完毕,因此执行回调)。因此,依赖a模块的模块,是在a模块的回调函数执行完毕后,执行自己的回调。
【注】
define定义后,对于define语句的第三个参数,即回调函数,就已经执行完毕。得到的结果就是,define定义的那个模块,也就是回调函数返回的对象。
二、require([a,b],function(){ })
a、b两个模块加载完毕后,执行回调函数function完成需要的逻辑。
【注】
加载的模块a、b,就是define时,a、b模块的回调函数返回的对象。