我有一个必须加载的module.js; 为了工作需要objectX;
如何将objectX传递给node.js提供的require方法中的module.js?
谢谢
// my module.js
objectX.add('abc');
// error: objectX is undefined
Run Code Online (Sandbox Code Playgroud)
我想要一种方法来做到这一点,而不必改变我所有的课程因为会花费很多时间......而且他们的方式对于客户端来说它具有良好的性能.(我将clientfiles与serverfiles混合***)
kgi*_*pin 46
您编写的模块可以导出单个函数.当您需要该模块时,请使用您的初始化参数调用该函数.该函数可以返回一个Object(hash),它放在require-ing模块中的变量中.换一种说法:
main.js
var initValue = 0;
var a = require('./arithmetic')(initValue);
// It has functions
console.log(a);
// Call them
console.log(a.addOne());
console.log(a.subtractOne());
Run Code Online (Sandbox Code Playgroud)
arithmetic.js:
module.exports = function(initValue) {
return {
addOne: function() {
return initValue + 1;
},
subtractOne: function() {
return initValue - 1;
},
}
}
Run Code Online (Sandbox Code Playgroud)
Chr*_*ell 14
您可以通过链接"init"方法(根据需要将其命名)来避免更改实际导出的对象.
模块TestModule.js:
var x = 0; // Some private module data
exports.init = function(nx) {
x = nx; // Initialize the data
return exports;
};
exports.sayHi = function() {
console.log("HELLO THERE "+x);
};
Run Code Online (Sandbox Code Playgroud)
然后要求它像这样:
var TM = require('./TestModule.js').init(20);
TM.sayHi();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24123 次 |
| 最近记录: |