有没有办法定义一些模块中可用的全局变量。 所以,如果我们有模块测试,并且内部测试我们有文件index.js,test1.js,test2.js,我们可以在index.js中定义变量,以便在test1.js和test2.js中可用,但不能在此之外模块?
确切情况:
所以,我正在使用一些npm模块,我不想每次都要求该模块,但只在一个目录中,而不是整个节点应用程序,因为这可能会给我带来问题。
答案 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();