環境変数をvueアプリに追加しようとしています。
ここに、私の.env
ファイルの内容を示します。これは、ルート(src
の外側)に配置されます。
VUE_APP_GOODREADS_KEY = my_key
main.js
の上にdot envのコードを追加しました
import Vue from 'vue'
import App from './App'
import VueResource from 'vue-resource'
import Vuetify from 'vuetify'
import dotenv from 'dotenv'
dotenv.config()
import { router } from './router'
import store from './store'
ストア内でこの変数を使用したい./store/index.js
Store.log環境変数をconsole.logにしようとしましたが、運はありませんでした:
console.log(process.env)
しかし、私が得ているのは
NODE_ENV:"development"
私が見つけた関連するスレッドは vue.jsに環境変数を読み込む だけでしたが、process.env
で既存の変数を使用する方法についてのみ言及しています。 dotenvを使用して環境変数を追加します。このコードが機能しないのはなぜですか?
_Vue CLI 3
_を使用してプロジェクトが作成された場合、dotenv
を使用して環境変数を取得する必要はありません。
プロジェクトの_.env
_ファイル内で環境変数を取得するには:
.env
_ファイルをプロジェクトルートに配置します。_.env
_ファイルで、「VUE_APP_」プレフィックスを使用して環境変数を指定します。
_VUE_APP_SOMEKEY=SOME_KEY_VALUE
_。
最後に、アプリケーションコードで_process.env.*
_を使用してそれらにアクセスできます。
console.log(process.env.VUE_APP_SOMEKEY) // SOME_KEY_VALUE
等号の前後のスペースを削除してみてください。
VUE_APP_GOODREADS_KEY=my_key
また、次のようにデバッグしてみてください。
const config = dotenv.config()
if(config.error){
console.log('Could not load env file', config.error)
}
Vuejs 2を使用する場合、configフォルダーにあるdev.env.jsおよびprod.env.jsファイルを使用する必要があります。
Vuejs 2は.envファイルの使用をサポートしていませんが、 Vuejs 3はサポートしています 。
// /config/prod.env.js
'use strict'
module.exports = {
NODE_ENV: '"production"',
SERVER_URI: "http://someremoteuri:3333/api/v1"
}
// /config/dev.env.js
'use strict'
module.exports = {
NODE_ENV: '"development"',
SERVER_URI: "http://localhost:3333/api/v1"
}