サーバーの環境変数を保持するために.envファイルを使用しています。これは、私がforeman startでサーバーを実行すると機能します。しかし、それはノーデモンでは機能しません。nodemonと.envファイルの使い方
サーバーを変更すると自動的に再起動するため、代わりにnodemonを使用したいと考えています。どのようにnodemonに.envファイルを扱えるようにすることができますか?
サーバーの環境変数を保持するために.envファイルを使用しています。これは、私がforeman startでサーバーを実行すると機能します。しかし、それはノーデモンでは機能しません。nodemonと.envファイルの使い方
サーバーを変更すると自動的に再起動するため、代わりにnodemonを使用したいと考えています。どのようにnodemonに.envファイルを扱えるようにすることができますか?
私は生産 Procfileを持っている:
web: node web.js
だから私はとProcfile_devファイルを作成しました:
web: nodemon web.js
そして、私は、開発環境で午前とき、私は実行します。
$ foreman start -f Procfile_dev
これは魅力的に機能し、制作には影響しません。
Expressでは、Procfile_devは次のようになります: 'web:nodemon。/ bin/www' – Ludder
あなたはnodemon直接
$: env $(cat .env) nodemon app.js
はあなたが.envを変更した場合、それを再起動する必要がありますことに注意してください、次のコマンドで.envを使用して取得することができますし、それがあればそれを好きではないだろう.envファイルにはスペースがあります。
置き、次のコマンド
$ foreman run nodemon web.js
これは素晴らしい解決策ですもしあなたがしたくなければ 'Procfile'を持つよう強制しません。別の方法は、 'package.json'ファイルで' start' [script section](https://www.npmjs.org/doc/misc/npm-scripts.html)を使用することです。これは 'npm start 'と' nodemon'です。そして、プロダクションのために[Heroku](http://heroku.com)を使用すると、 'npm start'も使用する配備で' Procfile'が生成されます。 – twistedstream
HerokuのProcfile
変更使用してnodemonと一緒に.envファイルと実行職長で、ローカル設定変数:ウェブ:ノードがウェブにapp.js:nodemonアプリを.js
スレッドネクロマンシー!
grunt-envを使用して、heroku設定から環境変数を読み込みます。
これは私の.envファイルを私のGruntfile.jsで使うのに役立ちました。まさに私が探していたもの。 –
最新のバージョンのNode(io.js 1.6以降)では、-r
フラグを渡して起動時にモジュールを要求することができます。
nodemon --exec 'node -r dotenv/config'
これをインストールするNPMパッケージdotenv
が必要です。これは、あなたが直接nodemonの--exec
を使用して.env
をロードすることができます。
[dotenv](https://www.npmjs.com/package/dotenv)パッケージで.envファイルを使用していて、本当に便利ですが、.envファイルの変数を変更すると問題が発生します。プロセスを再起動します(コンソール上でrsコマンドを使用するなど).envファイルの新しい変更はアカウントに取り込まれません。 – rkmax