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