javascript模块规范

CommonJS

CommonJS定义的模块分为:

{模块引用(require)} {模块定义(exports)} {模块标识(module)}

require()用来引入外部模块;exports对象用于导出当前模块的方法或变量,唯一的导出口;module对象就代表模块本身。
与其他一些概念的关系:
javascript模块规范_第1张图片

代码示例:

javascriptvar math = require('sum');
exports.add = function(n){
    return math.sum(val,n);
};

AMD

CommonJS是主要为了JS在后端的表现制定的,他是不适合前端的。 而AMD(异步模块定义),它就主要为前端JS的表现制定规范。
AMD只有一个接口:

javascriptdefine('id?, dependencies?, factory');

AMD规范地址

CMD

对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。
CMD规范地址

你可能感兴趣的:(异步模块加载机制-amd,commonjs)