Express.JS, Node.JS - переменная, доступная для каждого запроса. - PullRequest
0 голосов
/ 05 марта 2019

У меня есть приложение node.js express, в котором мне нужно иметь языковую переменную, которая указывает, на каком языке данные должны отправляться обратно для каждого запроса.

1) Я хочу получить доступ к этой языковой переменной во всех файлах в рамках этого запроса.2) Я не хочу, чтобы эта переменная изменялась после того, как она была установлена ​​для этого конкретного запроса.

Решение, которое я пробовал: 1) Классы Singleton: когда я создал класс Singleton и попытался импортировать этот класс,он сохраняется в нескольких запросах.

Например:

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 голосов
/ 05 марта 2019

вы можете добавить эту переменную в файл .env, после чего вы сможете получить к ней доступ через приложение .by добавив require ('dotenv'). config () в ваш файл server.js и переменную qqaccess th, где вам нужно, с помощью process.env.your varaible name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...