开发时需在 vite.config.ts 中配置 server.proxy 实现跨域代理,如 '/api' 代理至 'http://127.0.0.1:3000' 并设 changeOrigin: true;生产环境须用 Nginx/Apache 反向代理,proxy 配置仅限开发生效。uni-app H5端跨域报错 CORS 怎么办uni-app 的 H5 端本质是运行在浏览器里,发起的请求受同源策略限制。开发时直接访问后端接口(比如 http://localhost:3000/api/user)会触发 CORS 错误,不是 uni-app 本身的问题,而是浏览器拦住了------它不认你本地服务和后端服务是"一家的"。解决思路只有一条:让开发服务器(npm run dev:h5 启动的 vite/h5 server)帮你把请求转发过去,伪装成同源请求。生产环境不能靠代理,但开发阶段必须配好这个。代理只在 npm run dev:h5 下生效,build 后的静态文件部署到 Nginx/Apache 时需另配反向代理uni-app 的 H5 模式用的是 Vite,所以代理配置写在 vite.config.ts 或 vite.config.js 里,不是 vue.config.js别往 manifest.json 或 h5.devServer 字段里塞代理配置------那个字段已废弃,v3.0+ 不再识别怎么配 server.proxy 让请求通打开项目根目录的 vite.config.ts(没有就新建),在 defineConfig 的 server 选项里加 proxy:export default defineConfig({ server: { proxy: { '/api': { target: 'http://127.0.0.1:3000', changeOrigin: true, rewrite: (path) => path.replace(/^/api/, '') } } }})/api 是前端请求的前缀,比如你写 uni.request({ url: '/api/user' }),就会被代理target 必须带协议(http:// 或 https://),不能只写 localhost:3000,否则报 Error: Invalid URLchangeOrigin: true 是关键,它改写请求头中的 Host,让后端以为请求真来自目标域名如果后端要求路径保留 /api,就删掉 rewrite;多数 REST API 需要删掉,否则后端收不到 /api/xxx为什么 uni.request 还是 404 或 504代理配了但请求仍失败,大概率是路径或协议没对上,而不是代码逻辑问题。 稿定AI 拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能
相关推荐
阿成学长_Cain8 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备nothing&nowhere9 小时前
用 Python 做问卷数据清洗:无效样本检测与处理实战花酒锄作田9 小时前
如何发布自己的 Python 库到 PyPIresearcher-Jiang9 小时前
Design Patterns——Template Method入门到情景实战OceanBase数据库官方博客10 小时前
OceanBase AI 时代,数据库的变与不变(技术解析与实践)阿成学长_Cain12 小时前
Linux dirs命令详解|Bash目录堆栈管理快速切换目录实战教程ywl47081208712 小时前
Mysql 平衡二叉树、红黑树、B树、B+树区别以及应用场景(五)IvorySQL12 小时前
IvorySQL Agent 探索与实践飞猪~13 小时前
LangChain python 版本 第一集