📝 Turborepo + Next.js 前后端精简搭建笔记(带官网)
1️⃣ Turborepo 初始化
bash
pnpm dlx create-turbo@latest my-monorepo
cd my-monorepo
- 官网:https://turbo.build
apps/
放各 app,packages/
放共享代码
2️⃣ 前端 Next.js
bash
cd apps
npx create-next-app@latest webTest
cd webTest
pnpm dev
- 官网:https://nextjs.org
- 页面和接口(小型项目可用 API Route)
3️⃣ 独立后端 NestJS
bash
cd apps
npx @nestjs/cli new backend
cd backend
pnpm run start:dev
- 官网:https://nestjs.com
- 创建模块/控制器/服务:
bash
nest g module users
nest g controller users
nest g service users
- 独立模块化后端,支持 REST / GraphQL
4️⃣ Turborepo 脚本管理(根 package.json)
json
{
"scripts": {
"dev": "turbo run dev",
"dev:web": "turbo run dev --filter=web",
"dev:backend": "turbo run dev --filter=backend"
}
}
--filter=<app>
:只运行指定 app- Turbo 管理依赖顺序和缓存
5️⃣ 公共模块(可选)
packages/shared-types/
packages/utils/
- 各 app 中引用:
"shared-types": "workspace:*"
💡 注意
- 小型:Next.js + API Route
- 中大型:前端 Next.js + 独立 NestJS 后端
- 前端只负责页面和调用 API,后端处理业务逻辑