uniapp解决跨域问题处理 uniapp配置跨域无效

ainer">环境要求:vue3 。本文不适用于vue2 或在manifest.json中配置 。
解决方案:
(1)需要项目的根路径下面新建文件,名称为:vite.config.js;
(2) 将以下代码复制进去:
import { defineConfig} from 'vite';import uni from '@dcloudio/vite-plugin-uni';export default defineConfig({ server: {proxy: {'/devApi': {target: 'http://192.168.0.1:7272/api',changeOrigin: true,rewrite: (path) => path.replace(/^\/devApi/, ''),},}, }, plugins: [uni()],});(3)配置说明

  1. /devApi 为项目的基础请求地址,仅用于本地环境,可自定义;
  2. target 为真正需要访问的接口地址;
  3. rewrite: 为需要将访问的部分地址的路径换掉 。如上配置为将/devApi 换为空字符串 。
(4)样例解释(以上配置代码对应环境解释)
【uniapp解决跨域问题处理 uniapp配置跨域无效】本地测试访问配置的地址为(前面无须加http等): /devApi/login运行代码到chrome浏览器,控制台network显示的是访问:http://localhost:XXX/devApi/login;经过本配置后,实际代理访问的请求地址:http://192.168.0.1:7272/api/login注意:本代码仅适用vite和vue3配置 。不适用vue2等;
如果上述代码无效,请关闭正在运行项目,再重新运行 。
(5)常见问题如下
问题:uni-app设置跨域代理 。pathRewrite重写路径在vue2有效、vue3无效 。
解决:经检查问题出现在manifest.json中h5字段配置跨域代理,其仅对vue2有效 。可代理地址,但pathRewrite无效 。


    以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

    「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: