Я использую Nuxt & Ax ios, но у меня возникают проблемы с использованием переменных среды, когда строит приложение с моей локальной машины .
Я установил модуль @ nuxtjs / dotenv, чтобы решить эту проблему, но проблемы по-прежнему возникают.
Примечание. Переменные среды работают нормально при создании приложения в среде моего хостинг-провайдера. Это только здание из моей локальной машины, которая доставляет мне неприятности. Моя IDE - VS Code.
Вот мой топор ios, настроенный внутри nuxt.config. js:
module.exports = {
...
buildModules: [
'@nuxtjs/dotenv'
],
modules: [
// Doc: https://axios.nuxtjs.org/usage
'@nuxtjs/axios'
],
axios: {
baseURL: process.env.BASE_URL
},
...
}
Мой файл .env содержит следующее:
BASE_URL="https://some.api.com"
Переменные .env не распознаются при сборке приложения:
nuxt build
Вместо этого просто задается базовый URL-адрес ax ios для того же порта host:, на котором работает сервер по умолчанию. Пример: localhost: 4000
Я нашел следующую документацию из модуля @ nuxtjs / dotenv: https://github.com/nuxt-community/dotenv-module#using -env-file-in-nuxtconfig js. Это инструктирует вас добавить следующее в начало nuxt.config. js:
require('dotenv').config()
Это работает для локального построения; мои переменные из .env распознаются! Однако, поскольку dotenv является зависимостью от dev, это приводит к тому, что при развертывании на моем хостинг-провайдере сборка достигает sh, поскольку модуль не распознается.
Я знаю, что могу определять переменные среды непосредственно в Создайте команду следующим образом, но Я бы предпочел НЕ делать этого :
NUXT_ENV_BASE_URL=some.api.com nuxt build
Есть ли простой способ заставить переменные среды работать локально внутри nuxt.config. js во время процесс сборки, который также хорошо работает при развертывании в производство ??
Спасибо!