我正在编写一个NodeJS应用程序,我想将我的类分成单独的文件,但是在其中包含许多类的命名空间(模块),使用一个文件用于一个类。
据我所知,NodeJS使用的CommonJS对其他文件中的require
个对象,将每个文件视为不同的模块。
有鉴于此,我如何创建跨越多个文件的CommonJS模块?
答案 0 :(得分:0)
您的名称空间/分组模块可能看起来像这样(迫切需要):
<强> 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();
通过对其他分组模块进行分组,您可以进行更深入的嵌套。