vue3下的uniapp跨域踩坑

uniapp vue3 H5跨域踩坑

开发移动端H5的时候由于后端接口没有做跨域处理,因此需要做下服务器代理,于是百度搜索了uniapph5的跨域配置

manifest下的h5配置proxy,大概是这样:

js 复制代码
"h5": {
		"devServer": {
			"https": false,
			"proxy": {
				"/api": {
					"target": "服务器地址",
					"pathRewirte": {
						//路径重写
						"^/api": "/"
					}
				}
			}
		}
	}

但是配置完后,怎么都不生效,一直返回404,开始以为是没重启项目,端口占用等等一系列的问题

逐个排查后发现,配置生效了,服务器的确是代理了,但是pathRewirte的地址重写不会生效

查看uniapp文档

pathRewirtewebpack的写法,因此在vue2的项目中不存在这个问题,vue3中使用的vite需要使用函数写法重写路径,但是json不支持写函数,因此无法重写路径。

解决方案

在根路径下新建vite配置文件vite.config.js

js 复制代码
import {
	defineConfig
} from "vite"
import uni from "@dcloudio/vite-plugin-uni";
 
export default defineConfig({
	plugins: [
		uni()
	],
	server: {
		proxy: {
			'/api': {
				target: 'http://localhost:3000',
				changeOrigin: true,
				rewrite: path => path.replace(/^\/api/, '')
			},
			
		}
	}
})

重启项目即可使用vite的配置文件进行代理。

相关推荐
梦曦i4 小时前
unix-router v0.1.0 首发:uni-app x 的 vue-router 风格路由库
前端·uni-app
bug总结21 小时前
uniapp 微信小程序分包规范
微信小程序·小程序·uni-app
天府云创1 天前
uni-app X 蒸汽模式发布!性能比肩原生~
前端框架·uni-app·移动开发·原生应用·蒸汽模式·app研发·多端适配
堕落年代1 天前
uni-app x 蒸汽模式:实时流式语音识别(ASR)三大疑难杂症全记录
人工智能·uni-app·语音识别
RisunJan1 天前
uni-app 高频面试题与解答
uni-app
梦曦i2 天前
@meng-xi/create-uni-app vs unibest:轻量脚手架与重型框架的定位之争
前端·uni-app
2501_915106322 天前
iOS数据采集技术详解:从性能监控到崩溃分析的全链路实践
android·ios·小程序·https·uni-app·iphone·webview
我爱写代码i3 天前
AI对话绘画数字人源码 - uniapp前端
前端·人工智能·uni-app
ModyQyW3 天前
vite-plugin-uni-pages 更新了什么
前端·uni-app
2501_915918413 天前
Flutter项目配置iOS混淆的详细步骤与工具推荐
android·flutter·ios·小程序·uni-app·cocoa·iphone