# ADR-0002: Next.js 前端框架 | 状态 | 接受 | |-----|------| | 创建日期 | 2026-05-25 | | 作者 | 技术团队 | ## 上下文 我们需要选择一个前端框架来构建 Web 应用和管理后台。我们的需求包括: - 良好的 SEO 支持 - 优秀的开发体验 - TypeScript 支持 - 灵活的渲染策略 - 成熟的生态系统 ## 决策 我们决定使用 **Next.js 16+** 作为前端框架,采用: - **App Router**: 新的路由架构 - **TypeScript**: 类型安全 - **Tailwind CSS**: 样式方案 - **Shadcn UI**: UI 组件库 ## 备选方案 ### 方案 1: Create React App (CRA) **优点**: - 简单易用 - 社区资源丰富 **缺点**: - 不支持 SSR/SSG - 配置灵活性有限 - 构建性能一般 - 官方已不再推荐 ### 方案 2: Vite + React **优点**: - 极快的开发体验 - 灵活的配置 - 现代化的工具链 **缺点**: - 需要自己配置 SSR - 生态不如 Next.js 完整 - 需要更多的手动配置 ### 方案 3: Remix **优点**: - Web 标准优先 - 优秀的数据加载 - 边缘部署友好 **缺点**: - 相对较新 - 生态较小 - 国内资源较少 ## 后果 ### 正面影响 1. **SEO 友好**: 内置 SSR/SSG 支持 2. **开发体验**: 热重载、零配置 3. **性能优化**: 自动代码分割、图片优化 4. **部署方便**: Vercel 及其他云平台的一流支持 5. **生态成熟**: 大量的插件和集成 ### 负面影响 1. **锁定效应**: 深度依赖 Next.js 生态 2. **学习曲线**: App Router 有一定学习成本 3. **版本更新**: 需要关注 Next.js 的频繁更新 ## 相关链接 - [Next.js 文档](https://nextjs.org/docs) - [App Router 指南](https://nextjs.org/docs/app)