有没有办法为使用require
node.js加载的文件提供范围?
例如:
main.js
var scope = {
message: "Hello World",
};
require('./echo.js', scope);
echo.js
console.log(message);
显然这不起作用。
我知道我应该使用module
功能,但这是一个极端情况。
答案 0 :(得分:1)
如果您想将其传递到模块中,那么您可以这样做。
var scope = {
message: "Hello World"
};
require('./echo.js')(scope);
echo.js:
module.exports = function(obj){
console.log(obj.message);
}
除非您将范围声明为全局变量,否则它是唯一的方法。由于污染全局命名空间,不推荐。
global.scope = {
message: "Hello World"
}
require('./echo.js');
echo.js:
console.log(global.scope.message);