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當作參數傳入。