vue proxytable代理根路径的同时增加其他代理方式
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