10

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

我目前的方法是我会根据环境变量设置 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);
4

2 回答 2

9

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

于 2013-03-20T02:58:03.940 回答
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”启动您的应用程序

于 2015-03-23T19:37:33.700 回答