各位大神问个问题~
红色方框里面有的是写个‘/’ 有的是‘’ 各代表什么意思啊 在跨域请求中有什么作用 这个‘/’是代表根什么意思
proxyTable 里面的pathRewrite里面的‘^/iclient’:'' 什么意思
各位大神问个问题~
红色方框里面有的是写个‘/’ 有的是‘’ 各代表什么意思啊 在跨域请求中有什么作用 这个‘/’是代表根什么意思
proxyTable 里面的pathRewrite里面的‘^/iclient’:'' 什么意思
补充 @凉凉凉凉 的回答。
'^/iclient'
其实是一个正则表达式,详见 http-proxy-middleware
的文档中 option.pathRewrite 的部分。
'^/iclient'
应该拆分成 '^'
和 '/iclient'
两个字符串,其中 '^'
匹配的是字符串最开始的位置。
也就是说,axios 的请求URL写成了 '/iclient/myAPI/path'
的话,最后会在经过 http-proxy-middleware
的代理服务器时,会变成 '/myAPI/path'
,然后代理到 http://localhost:8080
这个代理服务器下面。
另外附一张 Regexp 速查表
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.8k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
5 回答8k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
5 回答7.7k 阅读
用代理, 首先你得有一个标识, 告诉他你这个连接要用代理. 不然的话, 可能你的 html, css, js这些静态资源都跑去代理. 所以我们只要接口用代理, 静态文件用本地.
'/iclient': {}
, 就是告诉node
, 我接口只要是'/iclient'
开头的才用代理.所以你的接口就要这么写/iclient/xx/xx
. 最后代理的路径就是http://xxx.xx.com/iclient/xx/xx
.可是不对啊, 我正确的接口路径里面没有
/iclient
啊. 所以就需要pathRewrite
,用''^/iclient'':''
, 把'/iclient'
去掉, 这样既能有正确标识, 又能在请求接口的时候去掉iclient
.