NodeJS 环境变量未定义

新手上路,请多包涵

我正在尝试创建一些环境变量,但是当我创建文件并运行服务器时,似乎未定义。我正在使用 nodemon 。我已经重新启动了我的服务器,但没有运气。

更新

.env

 MONGO_ATLAS_PW = "xxxx";
JWT_KEY = "secret_this_should_be_longer";

包.json

 ...
  "scripts": {
    ...
    "start:server": "nodemon ./server/server.js"
  }

应用程序.js

  require('dotenv').config();
 ...
 console.log(process.env.JWT_KEY); //undefined

原文由 Patricio Vargas 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 447
2 个回答

这需要在我的项目的根目录中。

nodemon.json

 {
  "env": {
    "MONGO_ATLAS_PW": "xxxx",
    "JWT_KEY": "secret_this_should_be_longer"
  }
}

原文由 Patricio Vargas 发布,翻译遵循 CC BY-SA 4.0 许可协议

我相信 nodemon.json 文件仅用于设置 nodemon 特定配置。如果您查看 示例 nodemon.json 文件的 nodemon 文档,他们提到设置的唯一环境变量是 NODE_ENV。

您是否考虑过将这些应用程序的环境变量放在 .env 文件中?有一个名为 dotenv 的 包有助于管理 Node.js 中的环境变量。

首先,使用命令安装dotenv npm install dotenv

然后,在根目录中创建一个名为 .env 的文件,内容如下:

 MONGO_ATLAS_PW=xxxxx
JWT_KEY=secret_this_should_be_longer

最后,在导入后的 app.js 文件中添加以下行:

 require('dotenv').config()

原文由 Kris Burke 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏