Node.js
中 module指一組程式碼組織成簡單或複雜的功能,可用來與其他程式碼互動。
在執行模組程式碼之前,Node.js
會使用 函數包裝器 (Module Wrapper) 將模組包起來:
(function(exports, require, module, __filename, __dirname){
// Module code actually lives in here
});
exports
:用來導出模組內容。module
:當前模組物件,包含 exports。require
:引入其他模組。_filename
:當前模組完整檔案路徑。_dirname
:當前模組所在資料夾路徑。CJS 是 Node.js
最早期的模組規範,它和 Module Wrapper 的運作密不可分。
CJS 的核心概念
module.exports
:指定模組要輸出的東西。exports
:簡化版的 module.exports
(兩者指向同一個物件)。require()
:引入其他模組。運作原理
exports
、module
、require
當作參數傳入。