我有一个node.js express应用程序,在这里我需要一个语言变量,该变量指定应针对每个请求将数据发送回哪种语言。
1)我想在该请求范围内的所有文件中访问此语言变量。 2)我不希望为特定请求设置此变量后就对其进行更改。
我尝试过的解决方案: 1)单例类:当我创建一个单例类并尝试导入该类时,它在多个请求中均保持不变。
例如:
const Constants = require("../util/constants.js");
let instance =null;
let language = new WeakMap();
class Global{
constructor(){
if(!instance){
instance=this;
}
return instance;
}
get language(){
return language.get(this);
}
set language(value){
if(language.get(this)!==undefined){
throw Error("Language Already Set");
}else{
language.set(this,value);
}
}
}
module.exports = new Global();
请让我知道如何解决此问题。
答案 0 :(得分:-1)
您可以在.env文件中添加该变量,然后您就可以在整个应用程序中访问它 通过在server.js文件中添加require('dotenv')。config()并通过process.env。您的易变名称添加qqaccess需要的变量