返回首页

从 Next.js 迁移到 Vite:构建速度提升 5 倍

Railway 将前端从 Next.js 迁移到 Vite + TanStack Start,构建速度提升 5 倍。该案例揭示了 Next.js 的扩展问题以及生产应用中客户端优先栈的优势。

Railway 如何在不使用 Next.js 的情况下将前端加速 5 倍
Advertisement 728x90

Railway前端构建时间缩短5倍:告别Next.js,拥抱Vite + TanStack Start

Railway的前端——包括仪表盘、文档页面和营销页——发展到每个构建耗时超过10分钟。主要瓶颈包括:

  • 构建速度慢:拖慢CI/CD流水线,影响开发效率。
  • App Router不兼容:Next.js基于服务端优先架构,但Railway的产品是客户端优先。
  • 配置复杂:自定义设置已超出标准场景(如Vercel托管博客)。
  • 打包体积大、冷启动慢:影响服务端渲染性能。

这些权衡在频繁部署的生产系统中尤为关键。

迁移成果

切换至Vite + TanStack Start后,构建速度提升5倍以上——现在构建时间控制在2分钟以内。团队每天节省数小时,直接加速开发进程。

Google AdInline article slot

该公告在Hacker News引发206分讨论,共188条评论。批评者认为问题可能源于架构而非框架本身,但Railway的真实表现证明了此次迁移对其技术栈的价值。

远离Next.js的转变

Railway加入了一个大型项目日益增长的趋势:

  • Kent C. Dodds:从Next.js转向Remix(后整合进React Router 7)。
  • 大规模迁移:众多项目正采用Vite + React或SvelteKit以实现更快构建。

Next.js在Vercel部署和标准模式下表现优异。但在需要自定义基础设施的大规模客户端优先应用中,其复杂配置和臃肿包体带来的弊端,远超SSR/SSG的优势。

Google AdInline article slot

| 指标 | Next.js | Vite + TanStack Start |

|--------|---------|------------------------|

| 构建时间 | 10+分钟 | <2分钟 |

Google AdInline article slot

| 架构 | 服务端优先 | 客户端优先 |

| 基础设施灵活性 | 低 | 高 |

何时适合迁移?

尽管Next.js仍是最受欢迎的React框架,但可扩展性暴露了其局限性:

  • 如果构建只需几分钟,无需变动。
  • 如果构建超过10分钟且部署频繁,建议测试替代方案。
  • 评估开发体验:若未使用核心功能(如App Router),说明技术栈可能已过时。

Vite提供即时HMR和闪电般的构建速度,无厂商锁定风险。TanStack Start则零成本集成路由与状态管理。

核心启示

  • 5倍提速:对高频率迭代团队而言,CI/CD时间显著减少。
  • 客户端优先设计:Vite + TanStack Start更契合仪表盘和交互式产品。
  • 趋势演变:在非Vercel环境中,Next.js正逐渐失去优势。
  • 权衡决定价值:当构建时间或基础设施成为瓶颈时,迁移值得投入。
  • 先验证再行动:切换前务必实测指标,切勿盲目追热点。

对中高级开发者而言,这是一条明确信号:关注构建时间,确保框架与项目架构匹配。Railway的实践表明,优化技术栈能直接提升生产力。

— Editorial Team

Advertisement 728x90

继续阅读