模块范围中的全局变量

时间:2014-03-14 20:28:08

标签: javascript node.js express

有没有办法定义一些模块中可用的全局变量。 所以,如果我们有模块测试,并且内部测试我们有文件index.js,test1.js,test2.js,我们可以在index.js中定义变量,以便在test1.js和test2.js中可用,但不能在此之外模块?

确切情况:

所以,我正在使用一些npm模块,我不想每次都要求该模块,但只在一个目录中,而不是整个节点应用程序,因为这可能会给我带来问题。

2 个答案:

答案 0 :(得分:1)

test1.js:

exports = test1Module = { func1: function(...){...}, func2: function(...){...}, func3: function(...){ console.log(test1Module.secretVariable); } }

index.js:
var secretVariable = "secretValue"; var test1 = require('test1'); test1.secretVariable = secretVariable;

与test2类似,但不是test3 ..

答案 1 :(得分:0)

您正在寻找的是名称空间。

看看以下内容 How do I declare a namespace in JavaScript?

var yourNamespace = {

    foo: function() {
    },

    bar: function() {
    }
};

...

yourNamespace.foo();