CommonJS定义的模块分为:javascript
{模块引用(require)} {模块定义(exports)} {模块标识(module)}前端
require()
用来引入外部模块;exports
对象用于导出当前模块的方法或变量,惟一的导出口;module
对象就表明模块自己。
与其余一些概念的关系:java
代码示例:git
javascriptvar math = require('sum'); exports.add = function(n){ return math.sum(val,n); };
CommonJS是主要为了JS在后端的表现制定的,他是不适合前端的。 而AMD(异步模块定义),它就主要为前端JS的表现制定规范。
AMD只有一个接口:github
javascriptdefine('id?, dependencies?, factory');
AMD规范地址后端
对于依赖的模块,AMD 是提早执行,CMD 是延迟执行。
CMD规范地址api