Javascript 是否尝试在节点中设置环境变量?不起作用
所以我安装了npmJavascript 是否尝试在节点中设置环境变量?不起作用,javascript,node.js,environment-variables,config,Javascript,Node.js,Environment Variables,Config,所以我安装了npmconfig模块。 我试图设置一个存储机密/私钥的局部变量。 尝试使用以下命令设置环境变量/私钥 export VIDLY_JWTPRIVATEKEY=MYSECUREKEY 然而,它不认为这是被设置,因为我得到一个错误通过 console.log("FATAL ERROR: JWTPRIVATEKEY is not defined"); 这就是我检查钥匙是否已设置的方式 index.js if (!config.get("JWTPRIVATEKEY")) { con
config
模块。
我试图设置一个存储机密/私钥的局部变量。
尝试使用以下命令设置环境变量/私钥
export VIDLY_JWTPRIVATEKEY=MYSECUREKEY
然而,它不认为这是被设置,因为我得到一个错误通过
console.log("FATAL ERROR: JWTPRIVATEKEY is not defined");
这就是我检查钥匙是否已设置的方式
index.js
if (!config.get("JWTPRIVATEKEY")) {
console.log("FATAL ERROR: JWTPRIVATEKEY is not defined");
// node environment variable. 1 (any other number exc. 0) is exit the app, 0 is success
process.exit(1);
}
userAuth.js我再次尝试获取private,但是它没有设置(?)
default.json(在配置模块文件夹中)
custom-environment-variables.json(在配置文件夹中)
**
错误:“致命错误:未定义JWTPRIVATEKEY”
**
我做错了什么?您可以尝试在生产和开发配置文件夹中设置变量,而不是这样设置: config/development.js
const-config={
环境:"发展",,
JWTPRIVATEKEY:
};
module.exports=config;
config/production.js
const-config={
环境:"生产",,
JWTPRIVATEKEY:
};
module.exports=config;
我无法确定问题是关于环境变量还是关于配置模块文件夹中的配置文件?json文件应该在/config/*.json
中,如果您想像module.exports={“JWTPRIVATEKEY”:“VIDLY_JWTPRIVATEKEY”}
一样使用js导出它,那么json文件也应该在/config/*.json中-文档是扩展的,不,配置模块是一个npm包,并且该文件应该像它们一样设置。。。i、 e.无需导出模块。。。。我想没有设置局部变量?@vahdet更新了claritygreat的问题!请问用这种方法设置环境变量的命令行是什么?我个人只使用。安装后,您可以在根项目的.env
文件中设置JWT\u KEY='
。然后像这样完成开发/生产配置文件:JWTPRIVATEKEY:process.env.JWT\u KEY
。
#code above
const token = jwt.sign({ _id: user._id }, config.get("JWTPRIVATEKEY"));
{
"JWTPRIVATEKEY": ""
}
{
"JWTPRIVATEKEY": "VIDLY_JWTPRIVATEKEY"
}
const config = {
env: 'development',
JWTPRIVATEKEY: <your_dev_key>
};
module.exports = config;
const config = {
env: 'production',
JWTPRIVATEKEY: <your_prod_key>
};
module.exports = config;