如何使变量可以通过所有控制器访问?

时间:2017-09-02 20:39:56

标签: node.js express

目前我正在使用node,express进行全栈javascript开发。我的问题是如何在app.js / server上创建一个变量,并且可以被所有控制器访问而无需进一步声明。 (像java中的静态变量,你不需要做任何事情,只需使用像class.variable这样的变量)

如果不可能,有什么方法可以解决这个问题?

3 个答案:

答案 0 :(得分:0)

我不熟悉快递,但我认为在JS中声明静态成员的常用方法可能会有所帮助。

function Class1(dyn_member){
    this.dyn_member=dyn_member;
}
Object.defineProperty(Class1.prototype,'static_member',{
    get:function(){return Class1.static_member},
    set:function(value){Class1.static_member=value;}
});

a=new Class1('dyn1');
b=new Class1('dyn2');
console.log(a.static_member);
a.static_member='new static';
console.log(b.static_member);

答案 1 :(得分:0)

您可以在配置文件中定义此类变量。 另一个好处是将配置文件拆分为不同的部署环境。

发现的好包将是config

答案 2 :(得分:-1)

您可以将此变量添加到global范围,并从任何javascript文件中访问它。

//set variable
global.myVar = 'Something';

//get variable
console.log(global.myVar);