我有 2 个导出文件,它们都导出具有相同名称的函数。
我可以区分这两个,因为它们会被分配到不同的命名空间。但我想动态调用命名空间,而不将名称硬编码到代码中。
//exporter1.js
function boo(params)
{
return 0;
}
module.exports.boo = boo;
//exporter2.js
function boo(params)
{
return 1;
}
module.exports.boo = boo;
//mainarea.js
var exp1 = require('./exporter1.js');
var exp2 = require('./exporter2.js');
var ns = "exp1";
global[ns].boo(params); //This doesn't work
导入的模块不存储在global
变量中。所以你不能用global
. 你可以做类似的事情
//mainarea.js
var exp1 = require('./exporter1.js');
var exp2 = require('./exporter2.js');
var supportedModules = {
'exp1': exp1,
'exp2': exp2,
}
var ns = "exp1";
supportedModules[ns].boo(params);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句