Это кажется простым вопросом Nuxt, но я просто не могу понять.
При запуске «NPM run dev» я хочу установить для базового URL-адреса Axios значение «localhost/api», а при запуске из папки dist после «NPM run generate» я хочу, чтобы базовый URL-адрес был «/api».
Есть ли простое решение?





Вот как это сделать через nuxt.config.js:
let development = process.env.NODE_ENV !== 'production'
module.exports = {
axios: {
baseURL: development ? 'http://localhost:3001/api' : 'https://domain/api'
},
modules: [
'@nuxtjs/axios'
],
}
Как видите, вы должны указать полный URL вашего бэкенда, включая домен (кроме режима SPA-only).
И не забудьте установить @nuxtjs/axios в качестве зависимости, чтобы попробовать пример.
@SteveO Круто. В этом случае вам лучше пометить этот вопрос как решенный, просто сказав
не работает бро
вы также можете установить API извне (например, скрипты package.json) с помощью переменной env
мой фрагмент package.json (есть дополнительная сложность, когда браузер использует разные URL-адрес API, затем рендеринг на стороне сервера, но все это поддерживается самим Nuxt с переменными API_URL_BROWSER и API_URL)
"scripts": {
"dev-prodapi": "API_URL=https://kairly.com/api nuxt",
"dev": "API_URL=http://localhost:8000/api nuxt",
"dev-spa-prodapi": "API_URL=https://kairly.com/api nuxt --spa",
"dev-spa": "API_URL=http://localhost:8000/api nuxt --spa",
"build": "API_URL_BROWSER=https://kairly.com/api API_URL=https://internal-apihost/api/ nuxt build --modern=server",
"start": "API_URL_BROWSER=https://kairly.com/api API_URL=https://internal-apihost/api/ nuxt start --modern=server",
и вообще не использовать раздел axios в конфигурации nuxt.
Сработало идеально!