我正在编写一个 NodeJS 应用程序,我想将我的类分成单独的文件,但命名空间(模块)中包含许多类,一个类使用一个文件。
据我了解,NodeJS 使用 CommonJS 来 require
其他文件中的对象,将每个文件视为不同的模块。
鉴于此,如何创建跨多个文件的 CommonJS 模块?
最佳答案
您的命名空间/分组模块可能如下所示(迫切需要):
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();
您可以通过对其他分组模块进行分组来进行更深层次的嵌套。
关于node.js - 如何创建跨多个文件的 CommonJS 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32930605/