起因:
最开始直接在manifest.json配置文件中配置h5的跨域,使用pathRewrite重写路径时失败。导致代理不成功。

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

解决办法:

这个时候就不用到manifest.json配置文件中进行配置跨域了,直接在跟目录添加vite.config.js配置文件配置跨域。

import { defineConfig } from 'vite';
import uni from '@dcloudio/vite-plugin-uni';

export default defineConfig({
  plugins: [uni()],
  server: {
    host: "localhost", // 指定服务器应该监听哪个IP地址,默认:localhost
    port: 5173,        // 指定开发服务器端口,默认:5173
    proxy: {           // 为开发服务器配置自定义代理规则
       // 带选项写法:http://localhost:5173/api/posts -> http://jsonplaceholder.typicode.com/posts
      "/api": {
        target: "http://v.juhe.cn", // 目标接口
        changeOrigin: true,            // 是否换源
        rewrite: (path) => path.replace(/^\/api/, ""),
      }
    }
  }
});

index.vue在访问的时候,加上/api 就行了

		uni.request({
			url:'/api/joke/randJoke',
			success:(res)=>{
				console.log(res);
			}
		})

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐