あらゆる解決策を試してみましたが、どれもうまくいきません。Vue.env
アプリ内のファイルにいくつかの値を保存したいのですが、単にログに記録しようとすると、process.env
コンポーネント内から空のオブジェクトが返されます。
私の.env
ファイル
VUE_APP_URL={api url}
VUE_APP_TOKEN={token}
これらの環境変数をデータプロパティに設定する予定でしたが、常に返されますundefined
。webpack.config.jsから実行するとconsole.log(process.env.NODE_ENV)
開発中であることがわかりますが、次のようにコンポーネント内から同じことを実行しようとすると、
mounted() {
this.$nextTick(() => {
console.log(process.env.VUE_APP_URL);
})
}
ただ返されるだけですundefined
。
ベストアンサー1
ここを訪れる人へのヒントをいくつか紹介します。
- ファイル
.env
がプロジェクトのルートフォルダ内(そうではないsrc/
) - 変数名は次のように始まる必要があります
VUE_APP_
クライアントバンドルに静的に埋め込まれる場合 - 再起動変更を有効にするには、開発サーバーまたはプロジェクトをビルドしてください
- webpackベースのソリューションから移行する場合は、
:
(JSON configから)を=
(に置き換えてください。dotenv 形式見逃しやすい - ファイルへの変更が保存されていることを確認してください
.env
。 - 古いVueバージョンでは、環境変数はルートのファイル
config/dev.env.js
ではなく、例えばで定義されていました。.env