Nuxt Как установить baseURL в dev или production - PullRequest
0 голосов
/ 19 февраля 2019

Это кажется простым вопросом Nuxt, но я просто не могу понять.

При запуске "NPM run dev" я хочу установить для Axios baseURL значение "localhost / api", а при запускеиз папки dist после «Запустить запуск NPM« Я хочу, чтобы baseURL был »/api".

Есть ли простое решение?

Ответы [ 2 ]

0 голосов
/ 23 июля 2019

вы также можете установить 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.

0 голосов
/ 19 февраля 2019

Это способ сделать это:

let development = process.env.NODE_ENV !== 'production'

module.exports = {
  axios: {
    baseURL: development ? 'http://localhost:3001/api' : 'https://domain/api'
  },
  modules: [
    '@nuxtjs/axios'
  ],
}

Как видите, вы должны указать полный URL-адрес вашего бэкэнда, включая домен (кроме режима только для SPA).

И не забудьте установить @ nuxtjs / axios в качестве зависимости, чтобы попробовать пример.

...