这个方法百分百能解决,不解决你来打我!本人参考了网上很多方法都没解决,最后一点小调整解决的,上代码
vite.config.js
这个文件我自己uniapp的项目里面没有,在网上搜了好像没找到自动生成该文件的方法,我直接建了一个没太大问题,下面是配置,一般都是使用/api,但是我一直没解决问题就出在这里,我把api改成了apis就没问题了
import {
defineConfig
} from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
export default defineConfig({
plugins: [
uni()
],
server: {
proxy: {
'/apis': {
target: 'http://**************/api', // 目标后端服务地址
changeOrigin: true,
rewrite: path => path.replace(/^\/apis/, ''),
}
}
}
})
因为这里使用了代理所以request.js封装请求的时候基地址就需要改成
const base_url = '/apis'
但是如果和我一样做的是小程序和h5兼容的项目就会发现,改变基地址后小程序里面就会报这个错误
所以我们现在需要在代码里面判断一下在h5里面执行的代码和小程序里面执行的代码
/*#ifdef MP*/
const base_url = 'http://***************/api' // 刚刚vite.config.js里面代理的地址
/*#endif*/
/*#ifdef H5*/
const base_url = '/apis'
/*#endif*/