CommonJS對模塊的定義十分簡單,主要分爲模塊引用、模塊定義和模塊標識。ui
一、模塊引用spa
var math = require('math');//這個方法接受模塊標識,以此引入一個模塊的API到當前上下文中。
二、模塊定義code
對應引入的功能,上下文提供了exports對象用於導出當前模塊的方法或者變量,而且它是惟一的出口。在模塊中,存在一個module對象,它表明模塊自身,而exports是module的屬性。在Node中,一個文件就是一個模塊,將方法掛載在exports對象上做爲屬性便可定義導出的方式。對象
//math.js exports.add = function(){ var sum = 0, i = 0, args = arguments, l = args.length; while (i < l){ sum += args[i++]; } return sum; }; //program.js var math = require('math');//require()返回的對象其實是exports exports.increment = function(val){ return math.add(val, 1); }
三、模塊標識blog
模塊標識就是傳遞給require方法的參數,必須符合小駝峯命名的字符串,或者以.、..開頭的相對路徑,或者絕對路徑。它能夠沒有文件名後綴.js。rem
CommonJS構建的模塊導出和導入機制使得用戶徹底沒必要考慮變量污染。字符串