目前我正在使用node,express进行全栈javascript开发。我的问题是如何在app.js / server上创建一个变量,并且可以被所有控制器访问而无需进一步声明。 (像java中的静态变量,你不需要做任何事情,只需使用像class.variable这样的变量)
如果不可能,有什么方法可以解决这个问题?
答案 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);