4
我可以访问节点全局变量作为属性GLOBAL
对象。访问NodeJS模块作用域变量作为对象
我可以以类似的方式访问模块范围变量吗?
例如
var fns_x = function(){/*...*/};
var fns_y = function(){/*...*/};
function aFn(param){
/* moduleScope = something that allows me to access module scope variables */
if(moduleScope['fns_' + param]){
moduleScope['fns_' + param]();
}
}
/*...*/
module.exports = /*...*/
或者最好把这些变量包装在对象中?例如
var fns = {
x: x = function(){/*...*/},
y: x = function(){/*...*/}
}
function aFn(param){
if(fns[param]){
fns[param]();
}
}
/*...*/
module.exports = /*...*/
为什么不直接导出'fns'(修改第二个例子)?我没有看到需要检查函数是否被声明的函数。 – Andy
刚刚遇到同样的问题 - 想要读取一个目录,并要求它的所有文件作为模块范围内的变量,但我不想包装它们。 – Megakoresh