Как добавить глобальный перехватчик с топором ios в Nuxt JS? - PullRequest
0 голосов
/ 28 апреля 2020

Я работаю с Nuxt JS. Поэтому я хочу прочитать некоторые заголовки ответов и сохранить их в VueJS магазине. Я видел следующую документацию: https://axios.nuxtjs.org/extend.html. Говорят, я мог бы добавить плагин ax ios для обработки запроса, ответа ... Вот конфигурация, предложенная на сайте nuxt: nuxt.config. js

{
  modules: [
    '@nuxtjs/axios',
  ],

  plugins: [
    '~/plugins/axios'
  ]
}

Вопрос 1: Почему плагины не объявлены как ~ / plugins / ax ios. js? Есть ли разница с ~ / plugins / ax ios? Чтобы избежать ошибки, возникает следующая ошибка:

 ERROR  Failed to compile with 1 errors                                        friendly-errors 13:12:58

This dependency was not found:                                                 friendly-errors 13:12:58
                                                                               friendly-errors 13:12:58
* eventsource-polyfill in multi eventsource-polyfill webpack-hot-middleware/client?reload=true&timeout=30000&ansiColors=&overlayStyles=&name=client&path=/__webpack_hmr/client ./.nuxt/client.js
                                                                               friendly-errors 13:12:58
To install it, you can run: npm install --save eventsource-polyfill  

Я пишу:

plugins: [
        '~/plugins/axios.js'
      ]

Чтобы записать следующий код перехватчика в plugins / ax ios. js:

export default function ({ $axios, redirect }) {
   $axios.onRequest(config => {
        console.log('Making request to ' + config.url)
    }),


    $axios.onResponse(response => {
        console.log(" RESPONSE  ####################### ")
    })
}

Когда я запускаю свое приложение и выполняю какой-то запрос. Я не вижу лог в консоли. Вопрос 2: Чего не хватает?

Затем я проверяю свою посылку json:

 {
  "name": "wp-nuxt",
  "version": "1.0.0",
  "description": "Headless WordPress with Nuxt",
  "author": "Me",
  "private": true,
  "scripts": {
    "dev": "nuxt",
    "build": "nuxt build",
    "start": "nuxt start",
    "generate": "nuxt generate"
  },
  "dependencies": {
    "@nuxtjs/axios": "^5.10.2",
    "nuxt": "^2.0.0"
  },
  "devDependencies": {
    "node-sass": "^4.12.0",
    "sass-loader": "^8.0.0"
  }
}

Вопрос 3 : Почему у меня нет модуля ax ios внутри модуля nuxt?

Вопрос 4: Как сделать, чтобы иметь топор ios под модулем узла nuxt?

Спасибо за помощь.

1 Ответ

0 голосов
/ 28 апреля 2020

nuxt.config. js:

module.exports = {
  modules: [
   '@nuxtjs/axios',
  ],

  axios: {
    // proxyHeaders: false
  }
}

Обновление: Ax ios Модуль интегрирован с Nuxt. js. Если вы хотите использовать Axios с Nuxt.js проектом, это будет хорошей интеграцией. Вы можете увидеть дополнительную информацию -> https://axios.nuxtjs.org/setup.html#install

...