如何在Heroku上的Node express应用程序中设置proccess.env

我有一个简单的节点与mongo(通过mongojs)应用程序,开发本地和部署在heroku上。 在我的开发环境中,我想使用mongo的本地实例,而在生产中,我想使用heroku通过“process.env.MONGOLAB_URI”提供给我的实例。

我目前的做法是,我将根据环境variables设置datavase url,但是我如何才能进入生产模式? 此外,我怎样才能configuration这个,当我在本地机器上开发它的开发模式,当我上传到heroku的生产模式?

app.configure('production', function(){ // ... databaseUrl = "mydb"; // the default }); app.configure('development', function(){ // ... databaseUrl = process.env.MONGOLAB_URI; }); db = require("mongojs").connect(databaseUrl); 

在本地环境中设置NODE_ENV环境variables为“development”,并在Heroku上将其设置为“production”。 https://devcenter.heroku.com/articles/nodejs#setting-node-env

您还可以通过添加以下内容启动您的应用程序来访问您的在线数据库:

 var mongoose = require( 'mongoose' ); var dbURI = 'mongodb://localhost/Loc8r'; if (process.env.NODE_ENV === 'production') { dbURI= process.env.MONGOLAB_URI; } mongoose.connect(dbURI); 

然后用“NODE_ENV = production nodemon bin / www”启动你的应用程序