#vue.js #quasar-framework #dotenv
#vue.js #quasar-framework #dotenv
Вопрос:
Получить значение GOOGLE_MAP_API
переменной в .env
файле во gmap-vue.js
внутренний boot/
каталог
это работает, если я использую ключ сразу, как это
load: {
key: 'AIzaSyCw9Txxxxxxxxxxxxx',
...
}
но я хотел бы использовать ключ, поступающий из .env
файла, подобного этому process.env.GOOGLE_MAP_API
quasar.conf.js
module.exports = function (/* ctx */) {
return {
...
boot: [
'gmap-vue'
],
boot/gmap-vue.js
import Vue from "vue";
import * as GmapVue from "gmap-vue";
Vue.use(GmapVue, {
load: {
key: process.env.GOOGLE_MAP_API,
...
}
}
.env
GOOGLE_MAP_API='AIzaSyCw9Txxxxxxxxxxxxx'
он вернет ошибку:
Google Maps JavaScript API warning: InvalidKey
https://developers.google.com/maps/documentation/javascript/error-messages#invalid-key
подводя итог, если я получу ключ от process.env
него, выдает ошибку
Комментарии:
1. Вы пытались удалить кавычки в файле .env?
2. да, я тоже пробовал это
3. Если вы поместите где-нибудь в свой компонент console.log(process.env.GOOGLE_MAP_API), вы получите правильное значение?
4. да, это странно, даже когда я удаляю двойные кавычки в строке
.env
(перезапускаю терминал), когда я console.log(), он всегда добавляет двойные кавычки.5. Возможно, у вас разные файлы .env? И вы модифицируете не тот?
Ответ №1:
Я заметил, что когда я обращаюсь к строковому значению, process.env
оно всегда добавляет двойные кавычки («).
даже если нет двойных кавычек строкового значения из .env
итак, что я сделал, я использую регулярное выражение;
load: {
key: process.env.GOOGLE_MAP_API.replace(/"/g, ""),
РЕДАКТИРОВАТЬ: если у вас, ребята, есть лучший ответ, пожалуйста, дайте, спасибо