需要带范围的文件

时间:2014-05-30 09:57:59

标签: node.js

有没有办法为使用require node.js加载的文件提供范围?

例如:

main.js

var scope = {
    message: "Hello World",
};

require('./echo.js', scope);

echo.js

console.log(message);

显然这不起作用。

我知道我应该使用module功能,但这是一个极端情况。

1 个答案:

答案 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);