2015-10-04 70 views
1

我正在編寫一個NodeJS應用程序,我想將我的類分成單獨的文件,但是它們內部有很多類的名稱空間(模塊),使用一個類的一個文件。如何創建跨越多個文件的CommonJS模塊?

據我所知,由其他文件中的NodeJS使用到require對象的CommonJS將每個文件視爲不同的模塊。

有鑑於此,我該如何創建跨越多個文件的CommonJS模塊?

回答

0

你namemespace /分組模塊可以看看這個(急切需要):

customer.js

module.exports.wholesale = require('./customers/wholesale'); 
module.exports.retail = require('./customers/retail'); 
module.exports.special = require('./customers/special'); 

現在,當你需要的客戶端模塊,你可以寫:

var Customer = require('customer.js'); 

並且您可以訪問所有客戶類型:

var wholesale = Customer.wholesale; 
var retail = Customer.retail; 
var special = Customer.special; 

在此解決方案中,當您導入Customer時,它也會加載所有子模塊。有時子模塊可能非常大,只需要一個子模塊。如果是的話你可以寫分組客戶模塊是這樣的(懶要求):

module.exports.wholesale = function(){ 
    return require('./customers/wholesale'); 
} 
module.exports.retail = function(){ 
    return require('./customers/retail'); 
} 
module.exports.special = function(){ 
    return require('./customers/special'); 
} 

,你可以訪問所有客戶類型:

var wholesale = Customer.wholesale(); 
var retail = Customer.retail(); 
var special = Customer.special(); 

你可以做更多更深的嵌套,通過組合其他分組模塊。