Next.js 对手再 +1,TanStack Start 正式版发布:面向 React/Solid 的轻量化全栈方案

作者:Daniel Curtis
  • 2025-11-11
    北京
  • 本文字数:1373 字

    阅读完需:约 5 分钟

TanStack 推出了 TanStack Start v1,一个构建在 TanStack Router 与 Vite 之上的全栈框架,专为 React 和 Solid 应用打造。此次正式版带来了可用于生产环境的功能,包括服务器端渲染(SSR)、流式水合(Streaming Hydration)、服务器函数以及类型安全的 API。至此,TanStack 正式跻身完整 meta-framework 赛道,成为Next.jsRemix 等有力替代。

v1 版本的重点聚焦在三大核心方面:类型安全的路由与 API、支持流式渲染的服务器端渲染能力、以及高度灵活的部署方式。TanStack Start 继承了 Router 的类型推断系统,并将其扩展至服务器路由与数据加载函数,使得导航与数据请求可以共享同一套类型定义。通过流式 SSR 模式,应用能够在生成 HTML 后立即发送给客户端,同时继续完成水合和交互加载,从而模糊了客户端与服务端渲染之间的界限。

在部署层面,TanStack Start 的设计几乎可以适配所有环境,无论是 Cloudflare Workers、Netlify、Vercel,还是任意 Node 或 Bun 运行时,都可无缝部署。这得益于其定制化的 Vite 插件与现代化打包策略。

以下示例展示了其路由与数据加载的工作方式:

import { createFileRoute } from '@tanstack/react-router'import { createServerFn } from '@tanstack/react-start'export const getTodos = createServerFn({ method: 'GET' }).handler(async () => {   return fetch('/api/todos').then(r => r.json())})export const Route = createFileRoute('/task-list')({  loader: getTodos,  component: TaskList,})function TaskList() {   // ... Example Component}
复制代码

上述代码片段展示了如何将服务器函数(createServerFn)与基于文件的路由定义结合为一个统一的 API。开发者可以在 TanStack Start 的 GitHub 仓库中找到更丰富的示例。

社区对该项目的反馈普遍积极,许多开发者将其与其他框架进行了对比。一项覆盖 10 款框架的移动端深度评测显示,TanStack Start 在包体积与多项性能指标上全面领先 Next.js 等主流方案。

jQuery 的创造者 John Resig 也在 X 上分享了他的使用体验:

我最近在一个新项目里上手了 TanStack Start,真心好用。它的 Server Functions 直接干掉了 TRPC、GraphQL、REST 这一整套繁琐的接口方案;中间件可以随意组合、而且类型定义完美到位。再配合 TSRouter 丝滑的类型推断与带状态搜索参数,体验堪称惊艳。A+ 级好评!

在其他社区(如 Reddit)中,这一项目也引发了热议。有开发者表示正考虑将其作为 Next.js 的替代方案,还有用户提到,他们已在复杂的生产项目中使用 TanStack Start。

在迁移与工具生态方面,TanStack Start 支持渐进式集成。现有的 TanStack Router 或 TanStack Query 应用可逐步引入其服务器函数与 SSR 功能,而无需大规模改造。维护团队重申:Start 不是 Router 的替代品,而是进化版,迁移因此更丝滑。

对于打算从 Next.js 迁移的开发者,官方还提供了专门的迁移指南

TanStack Start 是一个由 TanStack Router 与 Vite 驱动的开源全栈框架,专为需要服务器端渲染、流式加载、类型安全路由与通用部署能力的 React 与 Solid 应用而设计。随着 v1 的发布,TanStack 的生态从前端路由正式拓展至完整的应用开发栈,为那些追求类型安全与精细化控制的团队提供了一个极具吸引力的新选择。

原文链接:https://www.infoq.com/news/2025/11/tanstack-start-v1/