CommonJS加载模块是同步的,而AMD模块加在是非同步的,允许指定回调函数。由于Nodejs主要用于服务器编程,模块文件一般都存在于本地,所以加载很快,不需要考虑非同步加载,用CommonJS即可。但浏览器端是从服务器加载模块,这就需要用非同步模式,顾选择AMD会合适些。
AMD使用define方法来定义模块,如:
1 define([‘./B‘],function(){ 2 var a=function(){ 3 }; 4 return{ 5 A:a 6 }; 7 })
AMD是允许输出的模块兼容CommonJS的,所以写法可以改为:
1 define(funciton(require,exports,module){ 2 var a=require(‘./B‘); 3 exports.C=function(){ 4 } 5 })
时间: 2024-11-02 19:57:58