#aws amplifyでの環境変数の設定方法
Reactを動かす時、隠しておきたい情報などを.env
に記述して動作させることが多々ある。
amplifyでは、GitHubのリポジトリを参照しビルド=>デプロイする流れがある。
リポジトリに.env
を置いておく人は、あまりいない(少なくとも私は、しない)
じゃあどう設定するのか?
設定方法
環境変数
環境変数
というタブがあるので案内に従い、変数管理まで進む
いつも使ってる.env
例
REACT_APP_API_ENDPOINT = "HOGEHOGE"
上の画像のように記入していく。
ダメ "HOGEHOGE"
まる HOGEHOGE
”
などで囲むと思い通りに行かなかった。
ビルドの設定
下記の通りに記述してください。
frontend:
phases:
preBuild:
commands:
- yarn install
build:
commands:
- yarn run build
- echo "REACT_APP_API_REGION=$REACT_APP_API_REGION" >> .env
これで、設定は終了です。
私は、このやり方でうまくいきました。
もしうまく行かない時は、(buildに失敗する時)ビルド設定に下にある部分で
Amplify CLI latest
これを設定するのは、どうでしょうか?
nodeなどのバージョンの違いなどで失敗する時があるそうです。
あとがき
環境変数もそうですが、一番不明なのは、buildですね。
テンプレートだとうまくいくんですが、自分で作っていくとなぜか、通らなくなりました。
ビルドされるディレクトリの指定をすれば、うまくいきました。
しかし、URL先を見ると真っ白です。
ビルド時に出力される文を見てるとmoduleないよって書いてあったんですよ。
手元で問題なく動作しているのでまさか、パッケージが不足しているなんて思いもしませんでした。