uni-app 项目配置代理踩坑

问题描述:

最近用uni-app+vue3开发一个h5项目,涉及到跨域问题,以为还是跟之前vue2项目一样去修改manifest.json文件配置,所以直接在manifest.json配置文件中配置h5的跨域,使用pathRewrite重写路径时失败,结果居然没有效果。

manifest.json:

javascript 复制代码
"devServer": {
  "port": 9090,
  "proxy": {
    "/dev-api": {
      "target": "http://192.168.2.100:8089",
      "changeOrigin": true,
      "secure": false,
      "pathRewrite": {
        "^/dev-api": ""
      }
    }
  },
  "https": false
},

原因分析:

查了一下大致原因:

vue3使用的是vite进行打包,而uni-app官方文档中在manifest.json配置跨域是使用webpack的。而vite和webpack的跨域重写路径参数是不一样的。有可能是这种原因导致失败的。


解决方案:

所以我们不用去manifest.json 配置文件中进行配置跨域了,直接在根目录添加vite.config.js配置文件配置跨域。

javascript 复制代码
import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";

export default defineConfig({
  plugins: [uni()],
  server: {
    proxy: {
      "/dev-api": {
        target: "http://192.168.2.100:8089",
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/dev-api/, ""),
      },
    },
  },
});
相关推荐
小徐_23332 天前
Wot UI 2.2.0 发布:Button 新增 subtle,VideoPreview 预览体验继续增强
前端·微信小程序·uni-app
宸翰3 天前
解决 uni-app App 端 vue-i18n 占位符丢失:封装跨端可用的 tf 格式化方法
前端·vue.js·uni-app
时光足迹4 天前
uni-app 视频通话实战:康复师与患者视频问诊的 6 个致命 Bug 与解决方案
android·ios·uni-app
时光足迹4 天前
腾讯云 TRTC UniApp SDK 从入门到上线
前端·vue.js·uni-app
时光足迹4 天前
uni-app 里把加密视频嵌入页面播放?我分析了 4 种方案,只有 1 种接近完美
前端·vue.js·uni-app
时光足迹4 天前
JPush UniApp UTS 插件完全参考手册:API、事件与厂商通道一网打尽
vue.js·ios·uni-app
时光足迹4 天前
极光推送全攻略(下):uni-app 代码实现与 iOS 排查实战
vue.js·ios·uni-app
时光足迹4 天前
极光推送全攻略(上):被iOS证书折磨了三天,我写了一份前端也能看懂的避坑指南
前端·ios·uni-app
spmcor6 天前
身份证读卡“无感登录”方案实践:从手动点击到自动检测
uni-app
PedroQue996 天前
uni-router v1.8.0新增冷启动守卫补执行
前端·uni-app