javascript - Express.JS,Node.JS - 每个请求范围可访问的变量
问题描述
我有一个 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();
请让我知道如何解决此问题。
解决方案
您可以在 .env 文件中添加该变量,然后您可以在您的应用程序中访问它。通过在您的 server.js 文件中添加 require('dotenv').config() 和 qqaccess th 变量,您需要通过 process.env.your变量名
推荐阅读
- mysql - 将 CSV 文件加载到表时日期值不正确
- jquery - 在 Rails 中将 $.ajax 更改为 $post
- php - SugarCRM Rest api 函数响应总是被最后 2 个字符修剪
- ajax - 如何将复选框上的值插入数据库的不同列?
- c# - Textbox.text 在 C# 后面的代码中返回空字符串
- image-processing - 为什么灰度图像有黄色成分?
- mysql - 函数 agregate SELECT AVG (uh1, uh2, uh3, uh4, uh5) AS ruh FROM nilai 出了什么问题
- odata - 如何使用异步等待实现 OData Core?
- conan - 什么是 ConanException:执行 conan install 命令时出现错误 32512?
- r - 使用 R Shiny 在不同的选项卡中创建不同的结果