vue-cliで環境変数を使用する
環境変数
開発中と本番で異なる値を使用する場合、環境変数を使用します。
vue-cliを使用している場合、vue-cliがビルド時にファイルから値を読み込んでくれます。
モード
デフォルトでは、3つのモードがあるようです。
- development
- test
- production
development
vue-cli-service serve
の場合に使用される。
test
vue-cli-service test:unit
の場合に使用される。
production
vue-cli-service build
vue-cli-service test:e2e
の場合に使用される。
モードの指定
vue-cli-service のオブションでモードの指定が可能。
|
|
この場合だと、developmentモードの環境変数が使用されます。
ファイル名
.env
全てのケースでロードされる。
.env.[mode]
指定されたモードでロードされる。
.env.local
.env.[mode].local
ファイル名の末尾に「.local
」とあっても読み込んでくれる。
「.env.local」「.env.*.local」は、.gitignoreに書いておく。
ファイルが複数存在しているときは、下記の順に読み込まれて環境変数単位で値が上書きされているっぽい。
- .env
- .env.local
- .[mode]
- .[mode].local
全てのパターンのファイルに環境変数が存在していると、 「.[mode].local」の値が使用される。
「.[mode].local」に存在しない環境変数でも「.env」に存在していれば「.env」の値が使用される。
ファイルの書き方
「NODE_ENV
」「BASE_URL
」以外は、接頭辞に「VUE_APP_
」を使用しなくてはいけない。
メモ:vite を使用している場合は、「VITE_
」を接頭辞に使用しなくてはいけない。
jsからの使用
下記のように使用します。
|
|
注意
環境変数はビルド時にアプリケーションに展開されるので、クライアントに隠すことはできない。
クライアントに隠す必要がある値はサーバー側で管理する必要がある。