rji*_*ski 12 javascript module node.js
我希望将一个大型配置.js文件拆分成多个较小的文件,但仍然将它们组合到同一个模块中.这是常见做法,最佳方法是什么,以便在添加新文件时模块不需要扩展.
添加新文件时的示例,例如但不需要更新math.js.
math - add.js - subtract.js - math.js
// add.js
module.exports = function(v1, v2) {
return v1 + v2;
}
// subtract.js
module.exports = function(v1, v2) {
return v1 - v2;
}
// math.js
var add = require('./add');
exports.add = add;
var subtract = require('./subtract');
exports.subtract = subtract;
// app.js
var math = require('./math');
console.log('add = ' + math.add(5,5));
console.log('subtract =' + math.subtract(5,5));
Run Code Online (Sandbox Code Playgroud)
您可以使用扩展运算符,...
或者如果它不起作用Object.assign
。
module.exports = {
...require('./some-library'),
};
Run Code Online (Sandbox Code Playgroud)
或者:
Object.assign(module.exports, require('./some-library'));
Run Code Online (Sandbox Code Playgroud)
小智 5
如果您的 NodeJs 允许spread (...) 运算符(请在此处查看),您可以执行以下操作:
module.exports = {
...require('./src/add'),
...require('./src/subtract')
}
Run Code Online (Sandbox Code Playgroud)
你可以这样做
// math.js
module.exports = function (func){
return require('./'+func);
}
//use it like this
// app.js
var math = require('./math');
console.log('add = ' + math('add')(5,5));
console.log('subtract =' + math('subtract')(5,5));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6636 次 |
最近记录: |