You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从CRA迁移至Vite:如何实现类似CRA的全局请求代理?

实现Vite全局代理(模拟CRA的proxy行为)

要在Vite中实现类似Create React App(CRA)的全局代理效果,无需修改现有代码中的请求前缀,可通过正则匹配+路径排除的方式配置:

export default defineConfig(() => {
  return {
    build: {
      outDir: 'build',
    },
    server: {
      proxy: {
        // 匹配所有非Vite本地资源的请求
        '^/(?!@vite|src|favicon.ico|public)': {
          target: 'http://localhost:5001',
          changeOrigin: true,
          // 保留原请求路径转发至后端
          rewrite: (path) => path,
        },
      },
    },
    plugins: [react()],
  };
});

配置说明:

  • 正则匹配规则:^/(?!@vite|src|favicon.ico|public) 是负向预查正则,匹配所有以/开头,但不包含@vite(Vite内部服务路径)、src(本地源码请求)、favicon.ico(本地图标)、public(静态资源目录)的请求,避免把Vite自身的开发资源转发到后端。
  • changeOrigin:设置为true可修改请求头中的Host字段为后端服务地址,解决跨域验证问题。
  • rewrite函数:直接返回原路径,确保/todo、/api/trains等不同前缀的请求能原封不动转发到后端。

如果你的项目还有其他需要排除的本地资源路径,直接在正则的负向预查列表中添加即可。

内容的提问来源于stack exchange,提问作者Dane Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 10:31:11