2015-02-24 52 views
1

我在Github上有一个Node项目,我在Heroku上部署,并使用MongoDB来满足数据库需求。 我有一个来自Mongo的URL,我使用用户名和密码连接到该URL。当我在本地系统上运行它时,它完全正常工作,因为我可以对我的用户名和密码进行硬编码(甚至可以使用process.env.USER_NAME)。在Heroku上部署带私人信息的应用程序

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

回答

1

你想使用环境变量。

这可以从每个Heroku的应用

1中完成:转到您的应用程序的设置:https://dashboard.heroku.com/apps/:yourApp/settings enter image description here

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

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

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

4:为了开发目的,您仍然需要将这些变量保留在env变量中。安装dotenv npm模块。

npm install dotenv 

// appRoot/.env 

    dbURL=localhost:27017 
    dbUsername=tacoman 
    dbPassword=ILoveTacos 

// approot/server.js 

    require('dotenv').load(); 
+1

谢谢Brian。完美的答案! – jCoder 2015-02-25 02:06:17

相关问题