vue-cli3になったことによって、環境変数を扱うことが非常に簡単になった。その中でもクライアントサイドで利用することができるようになったことが非常にありがたい機能だと思った。
4種類のファイル名
プロジェクトのルートに環境変数を記述したファイルを配置し環境変数を利用できる。ここではsrc
配下ではないので注意が必要。
認識できるファイル名には4種類ある。
.env
.env.local
.env.[mode]
.env.[mode].local
.env
は、すべてのタイミングで読み込まれる。
.env.local
は、すべてのタイミングで読み込まれるが、gitの管理下からは外れる。
.env.[mode]
は、development
test
production
などのモードの中から指定されたモードのときだけ読み込まれる
.env.[mode].local
は、development
test
production
などのモードの中から指定されたモードのときだけ読み込まれるが、gitの管理下からは外れる。
クライアントサイドで環境変数を使う
他の言語同様ファイルの中でキー・バリューを設定する。このときに接頭辞としてVUE_APP_
を付与することで、クライアントサイドでも環境変数を使うことができる。VUE_APP_
を付与しないとundefined
となる
VUE_APP_TITLE=env TITLE=title
console.log(process.env.VUE_APP_TITLE) // env console.log(process.env.TITLE) // undefined