Задать вопрос

Как в Quasar можно использовать файлы .env?

Приложение с использованием Quasar.
Мне в axios, там где url нужно использовать url из файла .env
Как это можно сделать?
Привидите пожалуйста пример

Вот что я попытался сделать:

установил пакет quasar-dotenv

Создал файл .env и добавил в него
BACKEND_API_CARS_URL=http://localhost:8050/api/

Создал файл .env.example и доабвил в него
BACKEND_API_CARS_URL=http://localhost:8050/api/

В файле quasar.conf.js Добавил и использовал расширение quasar-dotenv
const env = require('quasar-dotenv').config()

build: {
env: env,
}


Во vuex использовал переменную из .env файла вот так:
const actions = {
  async GET_ALL_CARS_FROM_API({commit}) {
    let result = await axios.get(`${process.env.BACKEND_API_CARS_URL}cars`);
    commit("SET_CARS", result.data)
  }
}
  • Вопрос задан
  • 936 просмотров
Подписаться 4 Простой 4 комментария
Решения вопроса 1
darakanoit
@darakanoit
https://github.com/quasarframework/app-extension-dotenv я бы советовал использовать это.
Потом в коде можете вызывать так
process.env.API_BACK_END
Только при каждом изменении ENV надо перезагрузать дев сервер.
Если нужна помощь по quasar, можете спрашивать в телеграм чате. https://t.me/quasar_ru
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@dGololobov
начинающий
Все вы делаете верно по сути, кроме одного пункта.
Во vue переменные окружения нужно правильно называть, чтобы они подцепились при сборке.
VUE_APP_BACKEND_API_CARS_URL
Т.е. обязательно добавляйте префикс VUE_APP_
https://cli.vuejs.org/ru/guide/mode-and-env.html#%...
Ответ написан
@Bioside
Во второй версии делается просто через quasar.conf.js :
build: {
env: {
API: ctx.dev ? 'https://dev.api.com' : 'https://prod.api.com'
}
}

Не забываем расскомментировать ctx в строке module.exports = configure(function (/* ctx */) {
Соответственно, в коде используем process.env.API
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы