2018-01-10 Node加載一組相關的模塊機制

Node可以將目錄作為模塊,可以把相關模塊按相關邏輯組合起來

問題

你希望將一個目錄下的相關文件組合起來,而且只需要通過一個require來加載這些模塊。

解決方案

創建一個叫做index.js的文件來加載各個模塊并把它們一起導出

討論

通常一個模塊是邏輯自包含的,但將它拆成幾個文件還是很有意義的。大多數你在npm上找到的模塊是以這種方式編寫的。Node的模塊系統可以將文件目錄作為模塊。最容易的是創建一個叫index.js文件,這個文件通過require來加載各個文件。下面的例子展示了這是如何做到的。

// group/index.js 這個模塊將當前目錄下各個文件組合起來一起導出
module.exports = {
  one:require('./one'),
  two:require('./two')
}
// group/one.js和group/two.js 可以導出方法或者變量
module.exports = function(){
  console.log('one');
}
// test.js 加載一組模塊 通過require語句來一次性加載所有的模塊
var group = require('./group');
group.one();
group.two();

項目中很常見。比如vue-cli項目的vuex(用的是es6的語法export和import,上面用的是CommandJS)

store目錄下存在index.js文件
22.png
index.js文件導入相關邏輯js文件
11.png
加載一組模塊
55.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。