假如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 原理大致是直接在浏览器运行代码中拦截重写 XMLHttpRequest 类实现的,而 vite 服务器 proxy 是服务器级别的;mock 先被执行