Используя Nuxt для разработки универсального приложения JS, я пытаюсь настроить dev-прокси webpack так, чтобы только в разработке , запросы /api
получить прокси на http://127.0.0.1:500/api
, где они достигнут Python REST API. Следуя документации по Nuxt, я расширил конфигурацию веб-пакета в nuxt.config.js
примерно так:
build: {
extend (config, { isDev }) {
// Proxy /api to Python only in dev
if (isDev) {
const devServer = {
proxy: {
'/api': 'http://127.0.0.1:5000'
}
}
config.devServer = devServer;
}
}
}
Если я войду в конфигурацию, я вижу, что изменение применяется:
...
devServer: { proxy: { '/api': 'http://127.0.0.1:5000' } } }
...
Тем не менее, когда я захожу на http://127.0.0.1:8080/api/things,, возвращается мое приложение Nuxt (оно запускается через порт 8080 в dev), что указывает на то, что прокси-сервер dev веб-пакета не перехватывает путь /api
и не выполняет прокси. Просто чтобы подтвердить, что прокси destination работает, если я посещаю http://127.0.0.1:5000/api/things,, я получаю ожидаемый ответ API. Почему, когда я расширил конфигурацию веб-пакета Nuxt для включения прокси-сервера dev веб-пакета, прокси не работает?
У меня, однако, был успех с модулем @ nuxt / proxy , но я не мог найти способ сделать так, чтобы он влиял только на разработку, а не на производство. Та часть nuxt.config.js
выглядела так:
axios: {
proxy: true
},
proxy: {
'/api': 'http://127.0.0.1:5000'
},
Я рад использовать модуль @ nuxt / proxy вместо (поверх?) Прокси-сервера dev веб-пакета, если его можно заставить работать только в разработке.