2016-11-29 5 views
0
module.exports = { 
    app_uri: 'http://localhost:3000', 
    redirect_uri: '/redirect', 

id: 'user1', 
secret: "client_secretValue", 
    ... 
}; 

私は上記のコードを継承しています。環境変数から読み取る "秘密"を変更したいと思います。私はそれをLOCAL_SECRETに保存しました。そして、process.env.LOCAL_SECRETを通して正常にアクセスできます。キー値のペアの値をノードJSの環境変数に変更

これを上記の値のペアに追加する正しい方法は何ですか?それを秘密に変更する:env.process.LOCAL_SECRETは機能しません。理由はわかりません。

答えて

2

私はeit彼女のdotenvまたはcross-env

cross-envnpmまたはbashスクリプトを使用してスクリプトを実行すると、かなりうまくいきます。

"start": "cross-env SECRET=secret && npm run server" 

dot-evnあなたが設定ファイルのアプローチ

  1. を好きならば、あなたのルートにあなたの最初のスクリプト呼び出しで

    SECRET=secret

  2. を.envファイルを作成してより良いフィットSECRETキーを使用するモジュールの前に

    require('dotenv').config();

  3. dotenvは、env変数内に.envの内容を混ぜて表示します。

    module.exports = { 
    app_uri: 'http://localhost:3000', 
        redirect_uri: '/redirect', 
        id: 'user1', 
    secret: process.env.SECRET, 
    ... 
    }; 
    
1

あなたはそれを

module.exports = { 
    app_uri: 'http://localhost:3000', 
    redirect_uri: '/redirect', 

    id: 'user1', 
    secret: process.env.LOCAL_SECRET || "client_secretValue", 
    ... 
}; 

を行うOR dotenvノードモジュール(https://www.npmjs.com/package/dotenv

あなたはそこに環境変数を(プロジェクトのルートにある).envファイルを作成して追加することができます

と使用を使用することができますそれで

module.exports = { 
    app_uri: 'http://localhost:3000', 
    redirect_uri: '/redirect', 

    id: 'user1', 
    secret: process.env.LOCAL_SECRET, 
    ... 
}; 
+0

dotenvを今チェックアウトしています...最初のオプションが動作せず、 "未処理のイベント"が表示されます –

+0

require( 'dotenv')。config(); 'before? –