0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

create-react-appで作成したアプリのデプロイにおける環境変数の扱いについて

Posted at

環境

  • create-react-app 3.4.0
  • gh-pages 2.2.0

create-react-appでの環境変数について

ReactやNodeなどで環境変数を使いたい場合には、dotenvをインストールする必要がありますが、create-react-appを使用した場合だと、デフォルトでdotenvが組み込まれています。

このため、追加のインストールをせずとも環境変数が設定できます。
ただし、create-react-appの場合はREACT_APP_から始まる変数名をつけなくてはなりません。
.envファイルの例は以下のようになります。

.env
REACT_APP_API_KEY="YOURKEY"

環境変数にアクセスするには次のようになります。

App.js
render () {
  return (
    <div>
      {process.env.REACT_APP_API_KEY}
    </div>
  )
}

デプロイする際の注意点

環境変数の読み込みにはいくつかモードがあり、
ローカル実行時には、.env.development
テスト実行時には、.env.test
ビルド時には、.env.production
というふうになっています。

このため.envしか用意せず、ビルドを行い、デプロイをすると、環境変数が読み込まれない場合があります。

解決法

この解決法として、.envファイルを複数モード用に分ける方法があります。
私は以下のように分けました。

  • 開発用
.env.development
REACT_APP_API_KEY="YOURKEY"
  • 本番用
.env.production
REACT_APP_API_KEY="YOURKEY"

このように分けることで、npm run buildgh-pages -d buildを行った際に、生成したjsファイルに環境変数が埋め込まれるようになります。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?