当前位置: 首页 > 知识库问答 >
问题:

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

小牛23005
2023-10-25

假如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先拦截到了?

共有1个答案

倪鸿禧
2023-10-25

根据你提供的配置,当访问 http://localhost:8080/iotp/product/list 时,应该是代理规则优先拦截这个请求,并将其转发到 http://localhost:10000/abc/product/list

然而,如果你实际测试时发现请求被 mock 拦截了,可能有以下几个原因:

  1. 配置错误:请检查你的 Vite 配置文件中的代理和 mock 配置是否正确。确保代理规则的路径与你的请求路径匹配,并且 mock 的 URL 与你的请求 URL 匹配。
  2. 请求方法不匹配:在 Vite 的 mock 配置中,你指定了请求方法为 'get'。如果你的实际请求方法不是 'get',例如使用了 'post' 或 'put' 等方法,那么 mock 将不会拦截该请求。请检查你的请求方法是否与 mock 配置中的方法匹配。
  3. 优先级问题:在某些情况下,Vite 的插件或配置可能会影响代理和 mock 的优先级。如果你的 Vite 配置中还有其他与代理或 mock 相关的插件或选项,可能会影响它们的执行顺序。请检查你的 Vite 配置文件,确保没有其他与代理或 mock 相关的配置干扰你的请求。
  4. 浏览器缓存:浏览器缓存可能会导致一些奇怪的行为。如果你之前已经访问过该 URL,并且被 mock 拦截过,那么可能是浏览器缓存了该响应,导致后续的请求直接返回了 mock 数据。尝试清除浏览器缓存或者在不同的浏览器中进行测试,以排除这个可能性。

总之,要解决这个问题,你需要仔细检查你的 Vite 配置文件、请求方法、优先级设置以及浏览器缓存等因素,确保它们不会干扰代理和 mock 的执行顺序。

 类似资料:
  • vite 项目混淆加密 怎么配置?下面这样配置会报错caught TypeError: Failed to resolve module specifier "vue". Relative references must start with either "/", "./", or "../". 想要只在生产环境build添加加密,应该怎么写呢?

  • 本文向大家介绍当 bean 存在的时候怎么置后执行自动配置?相关面试题,主要包含被问及当 bean 存在的时候怎么置后执行自动配置?时的应答技巧和注意事项,需要的朋友参考一下 为了当 bean 已存在的时候通知自动配置类置后执行,我们可以使用 @ConditionalOnMissingBean 注解。这个注解中最值得注意的属性是: value:被检查的 beans 的类型 name:被检查的 be

  • 我们的系统允许文件夹和文件都可以是正则表达式格式。例如 我想找到与此模式匹配的所有文件。为了消除不必要的操作,我想获取根目录来启动文件列表和筛选。 有没有什么有效的方法来获取正则表达式路径模式的根目录? 几个测试用例:

  • 这些配置允许你对许多与URL映射和路径匹配有关的设置进行定制。关于所有可用的配置选项,请参考PathMatchConfigurer类的API文档。 下面是采用MVC Java编程配置的一段代码: @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter {

  • 本文向大家介绍Nginx处理请求时的匹配规则详析,包括了Nginx处理请求时的匹配规则详析的使用技巧和注意事项,需要的朋友参考一下 nginx 在收到一条请求时将先通过 server_name 匹配一个 server, 然后使用 server 中的 location 继续匹配. 匹配 server_name 在 nginx 中, server_name 决定了当收到一个请求后哪一个 server

  • 存根映射 无法匹配URL https://mysite/验证/会话/687d69ae-42a8-4584-a395-8e0c876Bacae(绝对路径和相对路径都不工作) 也尝试用urlPattern替换urlPathPattern,但没有成功 尝试了以下所有组合。什么都没起作用 注:Wiremock 2.18.0版,Spring Boot 2.0版 实际上,除了url(在带有绝对url的存根映射