vite项目 同时配置了代理 和mock,那么当请求路径都匹配的时候 谁先被执行?

假如vite项目中 配置了代理规则

 proxy: {           //代理

'/iotp': {

target: http://localhost:10000/abc/, //请求的url,例后端给的地址

changeOrigin: true, //当进行代理时,Host 头部的源默认会保持原状;你可以设置 changeOrigin 为 true 来覆盖这种行为;变成target对应得地址

secure: false, // 关闭SSL证书校验

rewrite: path => { //重定地址,比如:把以/aaa开头的地址换成''

return path.replace(/^\/iotp/, '');

},

},

}

同时也配置了mock

  {

url: `iotp/product/list`,

timeout: 2000,

method: 'get',

response: () => {}

}

那么当访问http://localhost:8080/iotp/product/list的时候
会被代理拦截 代理到 http://localhost:10000/abc/product/list
还是被mock拦截返回mock数据?

试了下走了mock,为什么是mock先拦截到了?


回答:

因为 mock 原理大致是直接在浏览器运行代码中拦截重写 XMLHttpRequest 类实现的,而 vite 服务器 proxy 是服务器级别的;mock 先被执行


回答:

mock。匹配到了。就不走你的请求了。

以上是 vite项目 同时配置了代理 和mock,那么当请求路径都匹配的时候 谁先被执行? 的全部内容, 来源链接: utcz.com/p/935059.html

回到顶部