本文由 Huifer 撰写,TanStack Ship 的独立开发者与维护者。 自 v1 起,我已在 TanStack Start 上交付了 12+ 个生产级 SaaS 应用;在 2023 至 2025 年间审计了约 20 个社区与商业 TanStack 模板,并构建了 TanStack Ship 来整合我每次从零重复编写的生产级模块。以下每一类别均锚定于真实 repo URL 或官方 TanStack / Cloudflare 文档链接——我在上述发布日期重新核验了每一条链接。TanStack Ship 定位为付费生产级平台,我已将这一偏向前置声明。
经验证的来源:TanStack Start 文档 · create-tsrouter-app · Cloudflare Workers 文档 · Cloudflare D1 · Better Auth · Stripe Checkout · Tailwind CSS 最后更新:2026-06-28 · 更新日志
TL;DR: 2026 年,"TanStack 模板"涵盖六类截然不同的脚手架——官方 TanStack Router/Start 模板、轻量社区 TanStack 模板(TanStarter、TanStack Start Minimal)、聚焦 SaaS 的 TanStack 模板(TanStack Ship、开源 SaaS TanStack 分支)、AI 编码友好的 TanStack 模板、边缘部署模板以及分析仪表盘。官方模板足以支撑原型阶段;而 TanStack Ship 这样的生产级 TanStack 模板则直接交付了 14 个生产级模块(auth、billing、email、edge 等),将脚手架直接变成可部署的产品。本指南覆盖所有类别、五个必需的生产级模块、构建与购买的成本对比,以及一套五分钟内找到正确 TanStack 模板的决策框架。
2026 年"TanStack 模板"的真实含义
"TanStack 模板"这个说法常被混用。在 2026 年,它至少涵盖六类截然不同的脚手架 TanStack 项目,每类都针对不同的工作场景进行优化。将它们混为一谈,是创始人在新 SaaS 项目中最常犯的错误。
官方 TanStack Start 模板
每个 TanStack 项目都从 create-tsrouter-app 脚手架的官方 starter 开始。它提供:
- TanStack Router,具备基于文件的路由以及对 search params 和 loaders 的完整类型推断
- TanStack Start 作为 SSR / SSG / 流式框架
- Vite + React 19 作为开发和运行时底层
- 预配置的
tsconfig.json,包含严格模式和路径别名 - 最简 index 路由和 404 路由
它很小——默认预设下约 1,400 行 starter 代码——而且有意为之。它是一条空旷的跑道,不是一架飞机。框架原语优秀;生产级胶水代码有意缺席。
社区 TanStack 模板——你最常看到的七个分支
2026 年 GitHub 上星标最多的社区 TanStack 模板:
| 模板 | 技术栈 | starter 行数 | 值得注意的模块 |
|---|---|---|---|
| TanStarter | TanStack Start + Workers + Better Auth | ~3,800 | Auth、Drizzle基础、Stripe基础 |
| create-tanstack-app-minimal | TanStack Start + Tailwind | ~1,900 | 仅框架本身 |
| TanStack Start SaaS Kit(社区版) | TanStack Start + Postgres + Stripe | ~6,500 | Auth、billing、blog |
| TanStack Start Edge Stack | TanStack Start + D1 + Workers | ~4,200 | D1、R2、队列基础 |
| TanStack Start + tRPC | TanStack Start + tRPC v11 | ~3,100 | 类型安全 RPC、Zod |
| TanStack Start + AI Kit | TanStack Start + AI SDK | ~4,400 | 流式聊天、向量搜索 |
| TanStack Ship(商业版) | TanStack Start + Workers + D1 + 14 个模块 | ~22,000 | 全栈生产级平台 |
我本人使用、参与或审计过其中至少五个。最底部的商业版是我的——后面会以与本指南其余部分一致的诚实态度加以定位。
生产级 TanStack 模板——缺失的第六类
官方模板和社区分支属于"脚手架"层。第三类——生产级 TanStack 模板——填补了脚手架与可部署产品之间的空白。TanStack Ship 是该层中我唯一以生产规模实测过的,但这个类别是真实存在的:面向 SaaS 形态的 TanStack 代码库,默认包含 auth + billing + database + email + edge,而不是将其作为练习题。
2026 年最重要的区分标准是范围,不是技术栈。两个 TanStack 模板可能都运行在 Cloudflare Workers、都使用 Drizzle 和 Better Auth——但一个仍然是脚手架,另一个却是生产级平台。区别在于:那 18 小时的胶水代码是否已为你写好。
官方 TanStack 模板止步何处、生产级模板起步何处
官方 create-tsrouter-app 模板擅长两件事,弱于第三件。
官方 TanStack 模板做得好的部分
它精通框架原语。类型安全的路由、基于文件的代码分割、server functions、部署预设(Cloudflare、Vercel、Netlify、Bun)——全部浓缩在约 1,400 行中。如果你的目标是"我想学 TanStack Router,不想花一个周六来折腾 Vite 配置",官方模板是正确的选择。
官方 TanStack 模板没有给你的东西
一旦退出原型模式,每个生产级 SaaS 至少需要:auth(邮箱密码、OAuth、会话、RBAC)、billing(Stripe Checkout + webhooks + entitlement gates)、database(schema、migrations、类型安全查询)、email(事务发送、队列、幂等性)以及 edge deploy(Workers + D1 绑定 + CI/CD)。官方模板一个都没交付。因此真正的问题不是"我该用哪个 TanStack 模板?"——而是**"上述五个生产级模块中,你愿意自己写几个?"**
社区 TanStack 模板的成本缺口
在我 2024 年运行的一个副业项目中,我在官方模板基础上添加了 auth(Better Auth,700 行)、Stripe billing(1,300 行)和 D1 schema(450 行)。总计——每个 SaaS 应用最终都会写的 2,450 行胶水代码——大约耗时 18 小时。按我的时间成本费率计算,这是 1,800 美元的工程成本,如果有一个生产级 TanStack 模板打包了这些内容,我本来会跳过。生产级 TanStack 模板不是"更多功能"。它们是预先支付的你本来要为每个新 SaaS 编写、调试、再调试的 2,000+ 行胶水代码。
每个 SaaS 真正需要的五个 TanStack 模板模块
走一遍任何生产级 TanStack SaaS,你会找到相同的五个模块。跳过任何一个,你在第一个季度内就会被迫补上。
Auth TanStack 模板
2026 年的最低标准是 Better Auth——类型安全会话、OAuth 提供商、魔法链接,以及服务端 getUser() 辅助函数。大多数包含 auth 的 TanStack 模板选用 Better Auth;少数使用 Clerk 或 Lucia。Clerk 路径集成最快,但给你的数据添加了一个无法摆脱的 SaaS 依赖——2025 年的一次 Clerk 宕机,至少影响了我知道的一个 TanStack SaaS,导致整个周末无法登录。
Billing TanStack 模板
一个扎实的 TanStack billing 模板包含 Stripe Checkout、带签名验证的 webhook 处理器、D1 中的订阅状态表,以及一个 <EntitlementGate> 组件。以下是来自 TanStack Ship 模块的真实 entitlement 检查:
// src/lib/entitlement.ts
import { getUser } from "./auth";
import { createServerFn } from "@tanstack/start";
import { db } from "./db";
export const hasEntitlement = createServerFn({ method: "GET" })
.validator(z.object({ feature: z.string() }))
.handler(async ({ data }) => {
const user = await getUser();
if (!user) return false;
const sub = await db.subscriptions.findFirst({
where: eq(subscriptions.userId, user.id),
orderBy: desc(subscriptions.createdAt),
});
return sub?.features.includes(data.feature) ?? false;
});
约 24 行。除生产级 SaaS 层之外的所有 TanStack 模板类别中,这段代码都需要你自己编写。
Database TanStack 模板
Drizzle 是事实上的 TanStack 搭档。模板按数据库区分——D1(Cloudflare)、Neon(Vercel)、Turso(边缘复制 SQLite)或 Fly 上的 Postgres。2026 年的趋势是 D1 + Drizzle 成为默认组合:低于 5 毫秒的索引读取、对查询结果的完整 TypeScript 推断,以及无需管理独立连接池。
Email TanStack 模板
大多数 TanStack 模板内置 react-email 用于组件化模板、Resend 用于投递。难点部分——基于队列的投递、幂等性、死信处理——出现在不到一半的社区模板中。TanStack Ship 通过 Cloudflare Queues 消费者和一个 failed_emails 墓碑表来处理这些,这是我在 2024 年一次 Resend 部分中断损失了 2,400 封事务邮件之后添加的。
Edge-deploy TanStack 模板
所有 TanStack 模板都针对某一种运行时。Cloudflare Workers 是边缘冷启动(低于 50 毫秒全球分布)的标准选择;如果你已使用 Vercel,Vercel Edge 是替代方案。Wrangler 配置是大多数首次部署卡壳的地方——一个好的 TanStack 模板应该内置经过测试的 wrangler.jsonc、用于类型安全绑定的 worker-configuration.d.ts,以及在每次绿色 main 构建时自动部署的 CI 工作流。
TanStack 模板与 Next.js 模板对比
2026 年评估 TanStack 模板的创始人,几乎也同时在评估 Next.js 模板。诚实的对比:
| 关注点 | TanStack 模板 | Next.js 模板 |
|---|---|---|
| 路由类型安全 | 原生(search params 推断) | 插件(typed routes 需主动开启) |
| Server functions | 一等公民 | Server Actions |
| 冷启动 | 低于 50 毫秒(Workers) | 200–800 毫秒(Vercel Edge,冷态) |
| 锁定程度 | 极低(任意运行时) | 高(Vercel 技术栈) |
| 社区 starter 规模 | 较小(3k–22k 行代码) | 较大(15k–80k 行代码) |
| 默认 ORM | Drizzle | Drizzle / Prisma |
| AI 编辑器友好度 | 在改善中(CLAUDE.md + Skills) | 成熟 |
如果冷启动和锁定程度对你重要,TanStack 胜出。如果社区规模重要且你满意 Vercel,Next.js 仍然胜出。两大框架正在趋同——TanStack Start 在 2026 年与 Next.js 的功能对标是真实的——但运行时的设计哲学是尚未动摇的那条分界线。深入对比见 TanStack 生态概览。
TanStack 模板的构建与购买成本对比
这是大多数模板对比文章跳过的部分。以下是诚实的成本计算。
在官方模板基础上自己编写的成本
我追踪了 2024 年单个副业 SaaS 的 2,450 行胶水代码:
auth(Better Auth 接线、OAuth 回调、JWT 会话): 700 行
billing(Stripe Checkout、webhooks、entitlement 表):1,300 行
schema(Drizzle migrations、RLS、类型导出): 450 行
---------
2,450 行
按我的实测速度——在熟悉的技术栈上胶水代码约每小时 135 行——相当于 18.1 小时。按 100 美元/小时 solo 费率,1,810 美元;按 200 美元/小时代理商费率,3,620 美元。
生产级 TanStack 模板的成本
2026 年一个生产级 TanStack 模板——TanStack Ship、社区 SaaS Kit 或大型社区分支——一次性费用 149–279 美元。终身更新是标准配置。数学结论:18 小时 × 100 美元/小时 = TanStack Ship 价格的 12 倍,社区 SaaS Kit 的 13 倍,而且每多上线一个 SaaS,差距就会进一步扩大。
自己从零构建才是正确选择的情况
三种情况为 18 小时辩护:学习 TanStack Start(18 小时是学费)、非标准技术栈(Bun + Postgres + 自定义 auth——没有模板能贴合),或永远只做一个产品(摊销只在多个 SaaS 之间才生效)。在其余所有情况——第二个或第三个 SaaS、工时受限的日间工作、需要稳定基础的团队——购买生产级 TanStack 模板才是更省钱的路径。
TanStack Ship 交付了什么 vs 官方 TanStack 模板
TanStack Ship 是我构建的生产级平台,因为官方 TanStack 模板距离我交付的每个 SaaS 都差 18 小时。它包含 14 个模块:
- Auth(Better Auth、OAuth、会话)
- Billing(Stripe Checkout + webhooks + entitlement gate)
- Database(Drizzle + D1,migrations,行级安全)
- Email(react-email + Resend + 队列)
- Files(R2 上传、签名 URL)
- 后台任务(Cloudflare Queues、cron 触发器)
- Edge 运行时配置(Wrangler、环境变量、secrets)
- Analytics(PostHog + 自托管选项)
- Blog(MDX、frontmatter、OG 图片)
- Marketing site(pricing、features、FAQ 页面)
- SEO(sitemap、robots、JSON-LD)
- AI 编辑器 hooks(CLAUDE.md、Skills、Cursor rules)
- Changelog 管线(自动发布、MDX)
- Support 模块(应用内反馈小组件)
整个 starter 共约 22,000 行。其中 约 6,000 行是你每个生产级 SaaS 本来就要写的胶水代码——billing webhooks、会话检查、队列消费者。其余 16,000 行是你可以选择跳过或替换的部分。功能对比 中逐模块展开。
我没有在每个维度上都对 TanStack Ship 与其他 TanStack SaaS 模板做过实测;我能展示的是来自真实部署的冷启动数据:
# 14 个 TanStack Ship 生产部署的冷启动中位数
# 使用 `wrangler tail --format=json` 在 30 天内测量
# 地区:全球(300+ POP)
#
# Worker 隔离冷启动: 38.4 毫秒(中位数),89.1 毫秒(p95)
# D1 查询(读取,有索引): 4.2 毫秒(中位数),12.8 毫秒(p95)
# 每次请求的出口成本: $0.00(Cloudflare 不计量出口流量)
诚实的边界:我在 2,400 并发请求/秒以上没有对 TanStack Ship 做压力测试。如果你在运营一个超高速增长的 to-C 产品,你需求可能已经超出 solo 开发者实测过的范围。对于 1k req/s 以下的 B2B SaaS,上述数字具有代表性。对于产生这些数字的数据层模式,Cloudflare D1 生产级多租户 SaaS 指南 中有详细解析。
如何选择 TanStack 模板
正确的 TanStack 模板由你项目的野心决定。诚实给自己打分:
- 得分 0(刚学习 TanStack Router): 使用官方
create-tsrouter-app模板。 - 得分 1–2(副业 SaaS,100 以下用户): TanStarter 或社区 minimal 模板。
- 得分 3–4(私测中 real B2B SaaS,1k 以下用户): TanStack Ship,或大型社区 SaaS 模板之一。
- 得分 5(已有付费客户的商业 SaaS): TanStack Ship,或从三到四个专注模块自行组装技术栈。定价和功能对比中有模块级拆解。
如果你不确定该买 TanStack 模板还是自己从零构建,把你需要多少个生产级模块(上述五个中)乘以 18 小时。如果结果超过 SaaS 模板的价格,买它。如果低于价格,自己构建。数学残酷但正确。
结语
2026 年的 TanStack 模板是一个真实的类别——六个不同的bucket、三个可靠的开源选项,以及少数付费生产级平台。官方 TanStack Start 模板是学习 TanStack Router 的正确起点。生产级 TanStack 模板是正确的选择,始于你写出与之前每个项目相同的那段 auth 代码的那一刻。
本指南有意写成一篇,而不是五篇。每一个 TanStack 模板问题——学什么、买什么、跳过什么、如何评估、构建与购买的成本如何计算——在这里从头到尾都有覆盖。如果后续对某个竞品做深度解析有意义,SaaS 脚手架对比 和 TanStack Ship vs TanStarter 评论延伸了讨论;如果你是框架问题,TanStack vs Next.js 指南 是正确的下一站。
如果你已决定要一个生产级 TanStack 模板而非自己从零构建,请**查看 TanStack Ship 的功能或查看定价与 14 模块对比**。许可证一次性 149 美元,终身更新,14 天退款窗口(如果模块不贴合你的技术栈)。
官方 TanStack 模板 + 18 小时是一条公平的路。付费 TanStack 模板 + 30 分钟是一条更快的路。根据你的时间选择,而不是预算。
相关阅读: