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