2016-10-10 9 views
2

私は.envファイルを持っており、それはnode.jsにprocess.envが必要ですか?

ABC='abc'

を持っていると私は私のapp.jsでprocess.env.ABCを行うとき、私はabc値を得ることができます。モデルのファイルで使用するにはどうすればよいですか?私は同じことを私のモデルファイルにprocess.env.ABC、それは未定義を得た。私はそれを要求しなければならないと思いますか?

+0

env変数を.envファイルから読み込むには、dotenvパッケージのようなものを使用する必要があります。あなたはそれらのいずれかを使用していますか?あなたはnpmにdotenvをインストールしなければなりませんし、どこでも環境変数をロードする必要があります。 –

答えて

0

dotenvrequire.envファイルを使用して、アプリケーションの起動時に変数に格納することができます。あなたがこれをしたら、あなたにreqを渡すことによってenvにアクセスすることができ、それは今

const env = require('dotenv').config({path: 
'/custom/path/to/your/env'}); 

app.use((req, res, next) => { 
    app.env = env; 
}); 

ようになり、メソッドの引数として渡したりExpressでmodule.exports = (env) => { return myModel; }

であなたのモデルをラップしますか、モデルとgetenvを使用req.app.get('env')

+0

この.envの使用は何ですか?私は通常、config.jsonやより良いconfig.jsのような.jsonや.jsを使い、var config = require( 'config')のように要求します。 –

+0

これらはすべて異なる目的で同じ目的を果たします。私は通常、cfg/index.jsを使います。このcfg/index.jsは、アプリケーションの起動時に設定された環境変数によって上書きされます。 cfg/index.jsまたはdevの亜種のみをSCMに保存してください。 –

+0

SCMは何を意味しますか? –

関連する問題