web-dev-qa-db-ja.com

.envファイルでnodemonを使用する方法は?

サーバーの環境変数を保持するために.envファイルを使用しています。これは、フォアマンスタートでサーバーを実行した場合に機能します。ただし、nodemonでは機能しません。

サーバーを変更すると自動的に再起動するため、代わりにnodemonを使用したいと思います。 nodemonを.envファイルで動作させるにはどうすればよいですか?

23
node ninja

production Procfileがあります:

web: node web.js

だから私はProcfile_devファイルを次のように作成しました:

web: nodemon web.js

そして、私が開発環境にいるとき、私は実行します:

$ foreman start -f Procfile_dev

それは魅力のように機能し、生産に影響を与えません。

32
Danilo Cabello

次のコマンドを使用して、nodemonに.envを直接使用させることができます。

$: env $(cat .env) nodemon app.js

.envに変更を加えた場合は再起動する必要があり、.envファイルにスペースがあると気に入らないことに注意してください。

22
flipside
  1. インストール dotenvnpm i dotenv
  2. .envファイルとその中に変数を作成します
  3. 実行するスクリプトを追加します

    "dev": "nodemon -r dotenv/config ./app/index.js " or
    "start": "node -r dotenv/config ./app/index.js "
    
  4. npm run devまたはnpm run startを使用してアプリを実行します

9
Alex Montoya

Node(io.js 1.6以降)の最近のバージョンでは、起動時にモジュールを要求するために-rフラグを渡すことができます。これにより、.envを直接ロードできます。 nodemonの--execを使用して:

nodemon --exec 'node -r dotenv/config'

これには、npmパッケージ dotenv がインストールされている必要があります。

8
bren brightwell

ローカル構成変数を.envファイルに配置し、次のコマンドを使用してnodemonとともにforemanを実行します。

$ foreman run nodemon web.js
7
Anuj

スレッドネクロマンシー!

grunt-env を使用して、heroku構成から環境変数をロードします。

2
amsross

つのステップで

  1. ルートフォルダ> .envにファイルを作成する
# .env ======
PORT=5000
WHO_AM_I="Who Knows"
  1. Dotenvをインストールします
  2. 以下のコマンドを実行します
"dev": "nodemon -r dotenv/config src/app.js"

> process.env.varible_nameを使用して、定義した変数にアクセスできます。

1
Aamer

Heroku Procfile

変更:web:node app.jsからweb:nodemon app.js

0
iancrowther

-wキーを使用して、nodemonに追加で監視する対象を指定します。

"scripts": {
    "dev": "env-cmd nodemon -w app -w *.js -w .env server.js"
}

再実行を忘れないでくださいnpm run dev

0
Voltrun