在 Heroku 上部署带有私人信息的应用程序

Deploying app with private info on Heroku

我在 Github 上有一个 Node 项目,我将其部署在 Heroku 上并使用 MongoDB 来满足数据库需求。 我有一个来自 Mongo 的 URL,我使用用户名和密码连接到它。当我在我的本地系统上 运行 时,一切都完美无缺,因为我可以硬编码我的用户名和密码(甚至使用 process.env.USER_NAME)。

我的问题是,如何在 Heroku 上传递这些值。它与我的 github 同步,我不想让我的用户名和密码 public.

您想使用环境变量。

这可以在每个 Heroku 应用程序中完成

1:转到您应用的设置:https://dashboard.heroku.com/apps/:yourApp/settings

2:点击Reveal Config Variables你会看到一个区域来添加或编辑你的环境变量

3:在您的应用程序中,您可以通过访问您的进程来访问这些变量。

var dbURL = process.env.databaseUrl,
    dbUsername = process.env.dbUsername,
    dbPassword = process.env.dbPassword;

4:出于开发目的,您仍然需要将这些变量保存在环境变量中。安装 dotenv npm 模块。

npm install dotenv

// appRoot/.env

    dbURL=localhost:27017
    dbUsername=tacoman
    dbPassword=ILoveTacos

// approot/server.js

    require('dotenv').load();