Express.JS,Node.JS-每个请求均可访问的变量

时间:2019-03-05 10:53:34

标签: javascript node.js typescript express variables

我有一个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();

请让我知道如何解决此问题。

1 个答案:

答案 0 :(得分:-1)

您可以在.env文件中添加该变量,然后您就可以在整个应用程序中访问它 通过在server.js文件中添加require('dotenv')。config()并通过process.env。您的易变名称添加qqaccess需要的变量