Nuxt3体验和实战(三)- 接口的调用

2,851 阅读1分钟

官方示例

Nuxt3给到了4个方法,官方的示例:useFetchuseLazyFetchuseAsyncData and useLazyAsyncData 确实对获取接口数据进行更友好的封装,这里就不多赘述了,想体验这种写法的可以移步官网去查看,这里有详细的说明还有示例。

这种方式对于新项目来说完全没有问题,但是要改造vue3+vite的项目,这里就不太合适了,原因有俩点:

  • 原项目接口获取使用的是axios插件,而且基于axios进行了很多的接口封装,这对于用axios做过整体项目的同学,深有体会,如果都转成这种形式工作量会倍增
  • 这种获取数据的方法只能用在script-setup,或者setup函数体里面,这对于在methods里面已经调用的很多逻辑需要再次改写,工作量再次倍增~~

解决办法

引入插件

// nuxt.config.ts
export default defineNuxtConfig({
     vite:{
            server: {
                proxy: {
                  '/api': {
                     target: 'http://xxxxxxxx', 
                    rewrite: (path) => path.replace(/^\/api/, ''),
                  }
                },
              }
})

image.png 兜兜转转,其实nuxt3已经完全兼容了vite的配置,这里在nuxt.config.ts里面配置好需要的跨域等操作,axios跟原来一样使用就好,这一点还是很给力的~~