1
我正在编写一个NodeJS应用程序,我想将我的类分成单独的文件,但是它们内部有很多类的名称空间(模块),使用一个类的一个文件。如何创建跨越多个文件的CommonJS模块?
据我所知,由其他文件中的NodeJS使用到require
对象的CommonJS将每个文件视为不同的模块。
有鉴于此,我该如何创建跨越多个文件的CommonJS模块?
我正在编写一个NodeJS应用程序,我想将我的类分成单独的文件,但是它们内部有很多类的名称空间(模块),使用一个类的一个文件。如何创建跨越多个文件的CommonJS模块?
据我所知,由其他文件中的NodeJS使用到require
对象的CommonJS将每个文件视为不同的模块。
有鉴于此,我该如何创建跨越多个文件的CommonJS模块?
你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();
你可以做更多更深的嵌套,通过组合其他分组模块。