2017-06-04 10 views
1

GitHubユーザーに表示されないように、環境変数に本番データベースと電子メールパスワードを保存しようとしています。Node.jsの環境変数にアクセスする別の方法

私は端末にexportコマンドを使用して、私のVARSを設定します。

$ export DB_PASS=mydbpass

しかし、私はこれが正しい方法であるか分からないprocess.env.DB_PASS

を経由してアクセスすることはできません。私はそれが実行することによってアクセスすることができました:

DB_PASS=mydbpass node server.js

しかし、私はこれを行うには、より実用的な方法を探しています。

+0

あなたはsudoを使ってenv varを設定しようとしましたか? –

+0

sudoはエクスポートを実行しません:/ –

答えて

2

実際にこれを行う方法があります。

まず、シェルファイルを実行してノードのprocessオブジェクト(環境変数)にデータを渡す必要があることを理解しておいてください。

これですべてのenv変数を保存するshellファイルを作成しましょう。このように、

#!/usr/bin/env bash 
export NODE_ENV='development' 
export ENVIRONMENT='development' 

export PORT='4000' 
export TEST_PORT='4040' 

# MongoDB 
export MONGO_URL='mongodb://localhost:27017/test' 

ファイル名をenv.shとします。今

のは、これはあなたが今何をする必要があるかは、あなたのノードのアプリがtestAppであり、あなたがnpm startを実行して、アプリケーションを実行し、そう言ってみましょう:

testApp~$ . ./env.sh && npm start 

どのコマンド上記のやっている、それはあなたの設定シェルファイルを実行していますあなたのノードアプリではノードアプリで次のフィールドにアクセスできます:

process.env.PORT 
process.env.TEST_PORT // and so on, basically whatever you have in env.sh file 

私はすべてが晴れたことを望みます。明確化があった場合はお知らせください。

+0

ありがとうございます!それは私の必要性のように働いた –

+0

私はそれが助けてうれしいです:) –

関連する問題