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的配置文件进行代理。

相关推荐
居安思危_Ho6 小时前
RK平台Uniapp自启动缓存问题解决
android·缓存·uni-app·rk平台·uniapp资源文件
你真的可爱呀8 小时前
uniapp学习【项目创建+项目结构解析】
学习·uni-app
小小弯_Shelby8 小时前
uniApp App内嵌H5打开内部链接,返回手势(左滑右滑页面)会直接关闭H5项目
前端·uni-app
卷Java8 小时前
百度AI车牌识别配置指南
java·开发语言·百度·uni-app·dubbo·微信公众平台
游戏开发爱好者810 小时前
苹果iOS26系统升级:液态玻璃与智能功能全解析
macos·ios·小程序·uni-app·objective-c·cocoa·iphone
2501_9159184117 小时前
iOS 26 App 性能测试|性能评测|iOS 26 性能对比:实战策略
android·macos·ios·小程序·uni-app·cocoa·iphone
用户904706683571 天前
uniapp Vue3版本,用pinia存储持久化插件pinia-plugin-persistedstate对微信小程序的配置
前端·uni-app
乔冠宇1 天前
uniapp创建ts项目tsconfig.json报错的问题
uni-app
细节控菜鸡1 天前
【2025最新】uniapp 中基于 request 封装实现多文件上传完整指南
uni-app
fakaifa1 天前
【全开源】企业微信SCRM社群营销高级版系统+uniapp前端
uni-app·开源·企业微信·scrm·源码下载·企业微信scrm