Next.js 全栈技术栈
Next.js 15 + tRPC + Prisma + PostgreSQL + Auth.js + TailwindCSS,用于生产 SaaS 应用。
技术栈组成
为什么
此技术栈提供端到端类型安全(客户端到数据库)、SSR 支持 SEO,tRPC 零 API 样板。Prisma 提供迁移和类型安全查询。Vercel 部署只需一次 git push。
何时使用
选择此栈用于 SaaS 仪表板、管理面板和需要认证 + 数据库 + API 的 B2B 应用。内容密集型站点用 Astro,高吞吐 API 用 Go/Rust。
如何做
示例
常见问题
- ⚠tRPC context 类型断裂 — 缺少 ctx.prisma 类型导致推断失败
- ⚠Prisma client 未生成 — schema 变更后运行 npx prisma generate
- ⚠RSC 中 Auth.js session — 服务端组件用 auth() 辅助函数,非 useSession()
- ⚠Vercel 函数大小限制 — Prisma 增加 15MB,启用边缘运行时或拆分函数
最佳实践
- ✓开发中用 Prisma Studio — npx prisma studio 可视化编辑数据库
- ✓tRPC 路由模块化 — 拆分为 user.ts、post.ts,用 t.mergeRouters 合并
- ✓所有输入用 Zod — 运行时验证 + TypeScript 推断一步到位
- ✓启用 Prisma 连接池 — Vercel 上用 pgbouncer 避免连接耗尽
常见问题解答
什么是Next.js 全栈技术栈?适合做什么项目?
Next.js 15 + tRPC + Prisma + PostgreSQL + Auth.js + TailwindCSS,用于生产 SaaS 应用。 它通过分层组合提供端到端类型安全与开箱即用的部署体验,适合从 MVP 到生产 SaaS 的快速迭代。
如何用Next.js 全栈技术栈在 10 分钟内跑通一个 demo?
两步起步:① 脚手架 — npx create-next-app@latest myapp --typescript --tailwind --app;② 安装依赖 — npm i @trpc/server @trpc/client @prisma/client @auth/core。先跑通本地 dev server,再接一个真实数据源验证端到端链路。
Next.js 全栈技术栈 最常见的坑是什么?怎么避免?
最高频的坑是:tRPC context 类型断裂 — 缺少 ctx.prisma 类型导致推断失败。避免方法:在 PR 模板里加入对应 checklist,CI 中跑类型检查 + lint + 单测,三重把关再合并。
Next.js 全栈技术栈 的最佳实践有哪些?
Next.js 全栈技术栈 的最佳实践包括:开发中用 Prisma Studio — npx prisma studio 可视化编辑数据库;tRPC 路由模块化 — 拆分为 user.ts、post.ts,用 t.mergeRouters 合并;所有输入用 Zod — 运行时验证 + TypeScript 推断一步到位。其中首条「开发中用 Prisma Studio — npx prisma studio 可视化编辑数据库」应在项目初始化时就落地,避免后期返工。
什么情况下不该选Next.js 全栈技术栈?
三种情况另选他栈:① 团队对该栈核心框架零经验且工期紧张(学习曲线风险);② 项目是纯内容/营销站(选 Astro 更轻);③ 需要极高吞吐(>1 万 RPS)或强一致微服务(选 Go/Rust)。Next.js 全栈技术栈 的强项是中高复杂度全栈与 API,别在简单静态页上过度工程。