如何从Node.js中的模块向全局对象添加值

时间:2019-04-02 18:16:16

标签: javascript node.js object

我正在尝试为全局或局部对象添加一些值,但是什么也没发生。

我尝试创建:  main.js中的global.test = {}; 并在第二个js中添加值test[name] = value

尝试在second.js中创建var test = {}; 并在第二个js中添加值test[name] = value

但是这个例子对我没有帮助。

文件中的代码:

main.js:

global.common = require('./second.js'); global.test = {}

second.js:

module.exports = { 
main: function (name, value) {
            test[name] = value;
        }
};

second.js在另一个文件中调用,但是整个要点显示在上面的代码中。

1 个答案:

答案 0 :(得分:0)

读取NodeJS docs

  

在浏览器中,顶级范围是全局范围。这意味着在浏览器var中,将定义新的全局变量。在Node.js中,这是不同的。顶级范围不是全局范围; var Node.js模块内部的某些内容对于该模块而言是本地的。

似乎您期望NodeJS的全局范围与JS在浏览器中的工作方式相同,但事实并非如此。

有关更多信息,请参见此问题:What is the 'global' object in NodeJS