10

ローカルで開発され、herokuにデプロイされたmongo(mongojs経由)アプリを備えた単純なノードがあります。私の開発環境では、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 = product nodemonbin/www」でアプリを起動します

于 2015-03-23T19:37:33.700 に答える