Я создаю приложение nuxt, и у меня возникла проблема с данными прокси и асинхронно.
Это мой nuxt.config (упрощенный)
modules: [
'@nuxtjs/axios',
'@nuxtjs/proxy'
],
axios: {
proxy: true
},
proxy: {
'/api': {
target: 'http://www.example.com',
pathRewrite: {
'^/api': '/'
}
}
}
Это мой фрагмент кода asyncData (упрощенный):
async asyncData ({ store }) {
await store.dispatch('fetchData')
}
Код действия магазина fetchData (упрощенный):
async fetchData({ commit }) {
const response = await myService.fetchData()
commit('setData', response.data)
}
И, наконец, функция myService (упрощенная):
fetchData () {
return axios.get('/api/path-to-my-resource')
}
Что ожидается: чтобы служба запускала вызов проксируемой конечной точки в обоих случаях: при посещении страницы по ссылке или при обновлении страницы.
Что происходит: когда я нажимаю кнопку "Обновить" на странице, вместо вызова http://www.example.com/path-to-my-resource, я вижу, что он пытается сделать это на / api / путь / к-моему-ресурсу и, конечно же, не работает. Насколько я понимаю, когда я обновляю страницу, прокси не работает внутри ловушки asyncData.
Я почти уверен, что что-то делаю неправильно, но не могу этого найти. Может ли кто-нибудь указать мне правильное направление?
127.0.0.1/...
вместо проксиtarget
и получаетECONNREFUSED 127.0.0.1:80
- person BurningPapaya   schedule 14.07.2020import axios from 'axios
в начале вашего магазина или службы, вы практически используете другой экземпляр axios, который не настроен с помощью прокси. Итак, что я сделал, так это то, что я удалил службу, переместил все вызовы конечных точек в свой магазин и использовал вездеthis.$axios.xxxx
, так что я использую прокси везде. - person Panos Vakalopoulos   schedule 16.07.2020