web-dev-qa-db-ja.com

Reactネイティブ:process.envにはNODE_ENVしかない

(Windowsで)反応ネイティブアプリをビルドするときに環境変数を設定しています。

SET APP_ENV=dev & react-native run-Android

echo %APP_ENV%は 'dev'を返します

しかし、JSファイルにprocess.envオブジェクトを記録すると、次の情報しか得られません。

{
  NODE_ENV: "development"
}

コマンドプロンプトから設定された環境変数にアクセスする別の方法はありますか?

8
Supreet Totagi

React-Nativeアプリは、Node.jsプロセスではなくブラウザーのような環境のデバイス(またはエミュレーター)で実行されていることを知っておくことが重要です。

最適化を実行するためにprocess.env.NODE_ENVに依存するNode.jsライブラリとの相互互換性のために、React-Nativeはenv.NODE_ENVを使用してprocessグローバル変数を追加します。

カスタム定数をReact-Nativeに渡したい場合は、以下を使用できます。 https://github.com/luggit/react-native-config

5
lopezjurip

このプラグインをインストールする必要がありますbabelプラグイン

npm install babel-plugin-transform-inline-environment-variables --save-dev

次に、プラグインセクションのbabel設定(.babelrc、babel.config.js)に追加します

{
  "plugins": [
    ["transform-inline-environment-variables", {
      "include": [
        "NODE_ENV"
      ]
    }]
  ]
}

次に、変数をインラインで渡すと

API_KEY=dev & react-native run-Android

あなたはそれを乗り越えるべきです

process.env.API_KEY

そして値はdevになります

これはMac端末での私の仕事です、あなたの質問に答えてください

2
Hussam Kurd