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](https://link.segmentfault.com/?enc=zehhhmfqBR9MX%2BrOTiHW8A%3D%3D.M2bqhmVK5%2BuxdKZVUC1FZjI47TblJGRvJlWeRAa3UgZqspv5AdLuR85BPOLZmRaa)的时候 会被代理拦截 代理到 [http://localhost:10000/abc/product/list](https://link.segmentfault.com/?enc=gH6muIFLz9jzPALxHRGkTw%3D%3D.aT%2FBkrzJ3xQQt1QnFiPXuK0En3J41TI5pg6JUduhAXxbWGFuWkPqt34UhcV3nwN2) 还是被mock拦截返回mock数据? ## 试了下走了mock,为什么是mock先拦截到了?

阅读量:18

点赞量:0

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