
相依性管理(Dependency Management)
|
91
這並非技術上的問題,只是需要靠大家集思廣益,共同構思出更酷、更棒
的東西。
緊接著,就有人成立相關的郵件通訊論譠(
http://groups.google.com/group/commonjs
),
CommonJS(
http://www.commonjs.org
)也隨即問世。CommonJS 很快獲得一些重量級人
物的支援。它現在已經是一組被 JavaScript 程式設計師廣泛採用的模組格式標準(裡頭
包括有:IO 介面、Socket 串流,以及單元測試…等格式標準),至今,它的內容仍在不
斷擴充。
宣告模組
宣告 CommonJS 模組的做法相當簡單。它已經內嵌命名空間的概念;你可以把不同的模
組放進不同的檔案裡,然後利用解譯器內建的
exports
物件,把模組裡的變數匯出成全
域變數:
// maths.js
exports.per = function(value, total) {
return( (value / total) * 100 );
};
// application.js
var Maths = require("./maths");
assertEqual( Maths.per(50, 100), 50 );
如果想要呼叫模組裡的函式,只要把儲存模組的檔案傳入
require()
函式,再將函式的
回傳值存成區域變數就行了。以前面這段程式碼為例,只要透過
Maths
變數,就可以呼
叫
math.js
所匯出的所有函式。最重要的是:每個模組都有自己的命名空間,而且可以在 ...