NodeJS 环境变量未定义
NodeJS environment variables undefined
我正在尝试创建一些环境变量,但是当我创建文件和 运行 服务器时,它们似乎未定义。我正在使用 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
我相信 nodemon.json 文件仅用于设置 nodemon 特定配置。如果您查看 nodemon docs for a sample nodemon.json file,他们提到的唯一环境变量设置是 NODE_ENV.
您是否考虑过将您应用的这些环境变量放在 .env 文件中?有一个名为 dotenv 的包有助于管理 Node 中的环境变量。
首先,使用命令npm install dotenv
安装dotenv
然后,在根目录中创建一个名为 .env
的文件,内容如下:
MONGO_ATLAS_PW=xxxxx
JWT_KEY=secret_this_should_be_longer
最后,在导入后的 app.js
文件中添加以下行:
require('dotenv').config()
我相信你指的是 dotenv package。要配置它,首先创建一个名为 .env
的文件,其中存储的键和值如下所示:
MONGO_ATLAS_PW=xxxxx
JWT_KEY=secret_this_should_be_longer
然后,在您的 server.js
中靠近顶部添加:
require("dotenv").config();
然后 process.env
变量将是一个对象,其中包含 .env
中的值。
这需要在我的项目的根目录中。
nodemon.json
{
"env": {
"MONGO_ATLAS_PW": "xxxx",
"JWT_KEY": "secret_this_should_be_longer"
}
}
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 - 在您的 根目录 [=31] 中创建一个名为 nodemon.json 的新文件=]
{
"env": {
"MONGO_ATLAS_PW" : "xxxx",
"JWT_KEY" : "secret_this_should_be_longer"
}
}
和重新启动服务器
用于访问变量
process.env.MONGO_ATLAS_PW
process.env.JWT_KEY
我正在尝试创建一些环境变量,但是当我创建文件和 运行 服务器时,它们似乎未定义。我正在使用 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
我相信 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()
我相信你指的是 dotenv package。要配置它,首先创建一个名为 .env
的文件,其中存储的键和值如下所示:
MONGO_ATLAS_PW=xxxxx
JWT_KEY=secret_this_should_be_longer
然后,在您的 server.js
中靠近顶部添加:
require("dotenv").config();
然后 process.env
变量将是一个对象,其中包含 .env
中的值。
这需要在我的项目的根目录中。
nodemon.json
{
"env": {
"MONGO_ATLAS_PW": "xxxx",
"JWT_KEY": "secret_this_should_be_longer"
}
}
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 - 在您的 根目录 [=31] 中创建一个名为 nodemon.json 的新文件=]
{
"env": {
"MONGO_ATLAS_PW" : "xxxx",
"JWT_KEY" : "secret_this_should_be_longer"
}
}
和重新启动服务器
用于访问变量
process.env.MONGO_ATLAS_PW
process.env.JWT_KEY