nuxt如何在vuex的actions中使用axios请求?

我正在做在一个从SPA转为SSA的项目,现在遇到一个问题:无法使用已经设置了拦截器的nuxt/axios在actions里请求。
之前在SPA的请求,直接在actions最前面import已经做好拦截器的axios即可:

import api from '@/plugins/axios';

export const actions = {
    getUser: async function ({ commit }, id) {
        let response = await api.get('/user/' + id)
        return response.data
    }
}

但是现在在nuxt项目中,无法这样子引入,因为无法获得nuxt/aixos的实例。
nuxt/axios拦截器的设置,是export一个 function,并在nuxt.config中进行了ssr的处理,import无意义,我的写法参考这个:https://blog.csdn.net/u013934...

如果我还是按照以前的方式,使用import api from '@/plugins/axios',得到的只是一个原初的函数,并不能进行请求

谁能告诉我究竟如何在能在actions里使用我已经设置了拦截器的nuxt/axios?谢谢!

这个问题的核心就是:如何将我做好拦截器的nuxt/axios的实例暴露出来,使其它文件可以使用

阅读 4.4k
2 个回答

node端不像浏览器端,不知道你的baseUrl是啥,你得拦截器里设置baseURL或者在实际请求时写完整的网址

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题