欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

vue proxytable代理根路径的同时增加其他代理方式

时间:2023-01-28 10:34:47|栏目:vue|点击:

proxytable代理根路径的同时增加其他代理

Vue 项目有一个需求,需要对根路径 ‘/’ 进行代理,但同时还存在其余特例路径的访问需求 ‘/py’,例:

  • 代理 /* 到 localhost:5000
  • 代理 /py/*到 localhost:5001

此时,需要将特例路径的代理写在根路径的前面,否则会被根路径的代理覆盖,无法成功进行代理: 

module.exports = {
  dev: {
    proxyTable: {
      '/py': {
        target: `localhost:5001`,
        changeOrigin: true,
        pathRewrite: {
          '/py': '',
        }
      },
      '/': {
        target: `localhost:5000`,
        // secure: true, // 是否 https
        changeOrigin: true, // 是否是跨域请求
      }
    }
  }
}

使用proxytable的路径问题

代码例子

proxyTable: {undefined
'/list': {undefined
target: 'http://api.xxxxxxxx.com',
changeOrigin: true,
pathRewrite: {
  '^/list': '/list'
}
}
}

这样我们在写url的时候,只用写成 /list/1 就可以代表 api.xxxxxxxx.com/list/1

proxytable的默认pathRewrite为

pathRewrite: {
      '^/api': ''
    }

这样我们在写url的时候,写 /api/1 就可以代表 api.xxxxxxxx.com/1

注意: '/api' 为匹配项,target 为被请求的地址,因为在 ajax 的 url 中加了前缀 '/api',而原本的接口是没有这个前缀的,所以需要通过 pathRewrite 来重写地址,将前缀 '/api' 转为 '/'。如果本身的接口地址就有 '/api' 这种通用前缀,就可以把 pathRewrite 删掉。

changeOrigin参数,如果设置为true,那么本地会虚拟一个服务端接收你的请求并代你发送该请求,这样就不会有跨域问题了。

另:proxytable只在开发环境中使用 

上一篇:vue实现web滚动条分页

栏    目:vue

下一篇:Vue的基本知识你都了解吗

本文标题:vue proxytable代理根路径的同时增加其他代理方式

本文地址:http://www.codeinn.net/misctech/224640.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有