heroku 如何在Express中的本地主机上设置进程.env变量?

bwntbbo3  于 2022-11-30  发布在  其他
关注(0)|答案(3)|浏览(120)

我希望我的代码在我的本地主机和服务器上运行测试。
在heroku中有一个GUI可以做到这一点,但是我如何在本地设置这些呢?

snvhrwxg

snvhrwxg1#

有几种方法可以在运行程序之前设置环境变量。
您可以在启动它的同时执行此操作:

ENV=test ./start-server

或在同一shell会话中:

export ENV=test
./start-server
nbewdwxp

nbewdwxp2#

我的首选解决方案是使用名为dotenv的npm包。如果您在应用程序的入口点中需要它,它将读入.env文件中的任何值,并通过process. env将它们提供给Node / Express应用程序。现在您可以在各种环境中创建必要的.env文件。您不需要处理向npm脚本传递一堆参数的问题。当然,如果您的.env文件中有密码或API密钥,请确保将.env添加到.gitignore文件#captainobvious

5f0d552i

5f0d552i3#

如果你在本地使用nodemon(为什么没有人使用nodemon呢?)你可以在你的项目的根目录下放置一个名为nodemon.json的文件。它将使文件中的变量对你的进程env vars可用。
nodemon.json

{
  "env": {
    "MSSQL_DATABASE": "MySqlDb",
    "MSSQL_USER": "MySqlUser",
    "MSSQL_PASSWORD": "MySqlPassword"
  }
}

app.js

const database = process.env.MSSQL_DATABASE;
const username = process.env.MSSQL_USER;
const password = process.env.MSSQL_PASSWORD;

当然,您应该将nodemon.json添加到您的.gitignore文件中,特别是当它包含敏感信息时。

相关问题