uni-app h5重写代理路径有问题

uni-app h5重写代理路径有问题

操作步骤:

  • 请求地址还是携带了/api

预期结果:

  • 不携带/api

实际结果:

  • 请求地址还是携带了/api

bug描述:

  • 代理里面的pathRewrite不能重写掉/api
信息类别 详细信息
产品分类 uniapp/H5
PC开发环境操作系统 Windows
PC开发环境操作系统版本号 windows 11
HBuilderX类型 正式
HBuilderX版本号 3.8.12
浏览器平台 Firefox
浏览器版本 最新
项目创建方式 HBuilderX

Image Image Image


更多关于uni-app h5重写代理路径有问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

可以的,配置完成之后,重启下
调用
uni.request({
url: ‘/api/mall/list’,
method: ‘GET’,
data: {

                },  
                success: res => {  
                    console.log(res)  
                },  
                fail: () => {  

                },  
                complete: () => {}  

            });  

代理
“h5”: {
“devServer”: {
“https”:false,
“proxy”: {
“/api”: {
“target”: “http://www.xxx.com”,
“changeOrigin”: true,
“pathRewrite”: {
“^/api”: “/”
}
}
}
}
}

更多关于uni-app h5重写代理路径有问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


请问解决了吗 我也遇到了 请路径去掉 /api 代理也去掉 /api就能正常生效

根据你提供的截图和问题描述,问题出在代理配置的pathRewrite没有生效。在uni-app的H5模式下,代理配置需要特别注意以下几点:

  1. 你的manifest.json配置中代理设置是正确的,但pathRewrite的写法需要调整:
"pathRewrite": {
  "^/api": ""
}
  1. 确保你的请求地址是以/api开头,例如:
uni.request({
  url: '/api/user/list'  // 必须以/api开头
})
  1. 检查你的vue.config.js文件(如果有)是否覆盖了manifest.json的代理配置。uni-app H5模式优先使用manifest.json的配置。

  2. 开发环境下修改代理配置后,需要重新运行项目才能生效。

  3. 如果仍然不生效,可以尝试在请求拦截器中手动处理:

// 在main.js中
uni.addInterceptor('request', {
  invoke(args) {
    args.url = args.url.replace('/api', '')
  }
})
回到顶部