nuxtjs 环境中添加全局axios

Posted Xuhua123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nuxtjs 环境中添加全局axios相关的知识,希望对你有一定的参考价值。

nuxtjs官方文档: https://zh.nuxtjs.org/

身为小白的我,在使用axios做小demo的时候; 做了几个页面后,在需要通过发送axios请求获取数据时,发现每个组件都需要重新引入 axios 依赖,这样也太浪费时间了不是吗?;

但可以看见nuxtjs没有像vue-cli一样直接添到全局的 main.js 和app.vue; 

废话不多,直接代码:

首先需要在  nuxt.config.js  添加代码

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

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

 

然后在根目录的 plugins/axios.js  (所有的插件都是在这个 plugins中)

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

  $axios.onError(error => {
    const code = parseInt(error.response && error.response.status)
    if (code === 400) {
      redirect(‘/400‘)
    }
  })
}

 

然后在该项目的任意组件中以   this.$axios  来使用axios

以上是关于nuxtjs 环境中添加全局axios的主要内容,如果未能解决你的问题,请参考以下文章

Nuxtjs如何在所有sass文件中添加全局环境变量

VueJS/NuxtJs中如何动态调用axios方法

nuxtJs中直接使用自带的@nuxtjs/axios

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装