我正在尝试创建一些环境变量,但是当我创建文件并运行服务器时,似乎未定义。我正在使用nodemon
。我已经重新启动服务器,但是没有运气。
已更新
.env
MONGO_ATLAS_PW = "xxxx";
JWT_KEY = "secret_this_should_be_longer";
package.json
...
"scripts": {
...
"start:server": "nodemon ./server/server.js"
}
app.js
require('dotenv').config();
...
console.log(process.env.JWT_KEY); //undefined
答案 0 :(得分:2)
我相信nodemon.json文件仅用于设置nodemon特定的配置。如果您查看nodemon docs for a sample nodemon.json file,则他们提及的唯一环境变量设置为NODE_ENV。
您是否考虑过将应用程序的这些环境变量放在.env文件中?有一个名为dotenv的软件包,可用于管理Node中的环境变量。
首先,使用命令npm install dotenv
然后,在根目录中使用以下命令创建一个名为.env
的文件:
MONGO_ATLAS_PW=xxxxx
JWT_KEY=secret_this_should_be_longer
最后,在导入后在app.js
文件中添加以下行:
require('dotenv').config()
答案 1 :(得分:2)
我相信您是指dotenv package。要对其进行配置,请首先创建一个名为.env
的文件,其密钥和值的存储方式如下:
MONGO_ATLAS_PW=xxxxx
JWT_KEY=secret_this_should_be_longer
然后,在您的server.js
中,将其添加到顶部附近:
require("dotenv").config();
然后process.env
变量将是一个包含.env
中的值的对象。
答案 2 :(得分:1)
env 变量不包含尾随空格,也去掉引号
MONGO_ATLAS_PW = "xxxx";
JWT_KEY = "secret_this_should_be_longer";
到
MONGO_ATLAS_PW=xxxx
JWT_KEY=secret_this_should_be_longer
和重启服务器
或者您也可以尝试使用 nodemon.json - 在您的根目录
中创建一个名为 nodemon.json 的新文件{
"env": {
"MONGO_ATLAS_PW" : "xxxx",
"JWT_KEY" : "secret_this_should_be_longer"
}
}
和重启服务器
用于访问变量
process.env.MONGO_ATLAS_PW
process.env.JWT_KEY
答案 3 :(得分:0)
该目录必须位于我项目的根目录中。
nodemon.json
{
"env": {
"MONGO_ATLAS_PW": "xxxx",
"JWT_KEY": "secret_this_should_be_longer"
}
}