一个基于 Next.js App Router、pnpm workspace 和 Turborepo 构建的现代化单体仓库项目。本项目包含三个可以一起开发或独立部署的独立应用程序。
- Web - 公司官方网站
- Blog - 基于 Markdown 的博客系统
- Hub - 书签管理系统
本项目使用单体仓库架构,采用以下技术:
- Next.js 14+ 配合 App Router 进行服务端渲染和路由管理
- pnpm workspace 实现高效的包管理
- Turborepo 用于缓存构建和并行任务执行
- TypeScript 确保类型安全
- Biome 用于快速代码格式化和检查
- Vitest 用于单元测试
- Playwright 用于端到端测试
@repo/utils- 工具函数
要独立部署应用程序:
- 下载或克隆特定的应用程序目录(例如 apps/web)
- 安装依赖并构建应用程序:
pnpm install pnpm build
本单体仓库中的每个应用程序都可以独立部署,无需下载整个项目。
cd apps
npx create-next-app@latest new-app --typescript --tailwind --eslint --app --src-dirmkdir packages/new-package
cd packages/new-package
pnpm init# 运行特定应用
pnpm --filter web dev
pnpm --filter blog build# 运行所有测试
pnpm test- Fork 本仓库
- 创建功能分支
- 进行修改
- 运行测试和代码检查
- 提交 Pull Request
MIT 许可证 - 详见 LICENSE 文件了解详情。