如何在heroku上的Node express app中设置process.env

时间:2013-03-20 01:41:42

标签: node.js mongodb express

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

我目前的方法是根据环境变量设置datavase url,但我实际如何进入生产模式?此外,我如何配置这个,以便当我在我的本地机器上开发其开发模式,当我上传到heroku其生产模式?

app.configure('production', function(){
  // ...
  databaseUrl = "mydb"; // the default
});

app.configure('development', function(){
  // ...
  databaseUrl = process.env.MONGOLAB_URI;
});

db = require("mongojs").connect(databaseUrl);

2 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:0)

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

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”

启动您的应用