我有变量app.js
:
var G = {};
module.exports = G;
var DATA = G.DATA = 'DATA';
var F1 = G.F1 = function(val)
{
return val;
};
这样我就可以导出对象下的变量G
,同时可以DATA
不加G.
前缀直接写访问变量。
到现在为止还挺好。
现在,我想对in进行测试:app.js
test.js
var G = require('./app.js');
console.log(G.DATA); // -> DATA
这有效,但我也想直接访问变量DATA
而不使用G.
前缀,例如console.log(DATA); // -> DATA
当然,我可以这样做
var DATA = G.DATA;
对于每个变量(属性)导出和需要的moduleG
对象,但显然将每个变量手动添加到测试文件以对应G
对象是一个繁琐的过程。
有没有办法自动执行此操作?
到目前为止,我很悲观,因为
JSfunction
包含var
在自己的范围内,所以理论上没有办法var
为每个对象属性提供一个辅助函数。
谢谢。
附注。我想避免任何eval
或VM
节点解决方案。我过去尝试过它们,但问题太多。