基于 Nx Monorepo 构建的现代化全栈应用,采用 TypeScript、Vue 3、NestJS 和 MySQL 技术栈。
一行命令启动整个应用:
pnpm start-
安装依赖
pnpm install
-
配置环境变量
cp apps/server/env.example apps/server/.env
-
启动开发服务器
pnpm dev
pnpm dev # 同时启动前端和后端开发服务器
pnpm build # 构建所有项目
pnpm test # 运行所有测试
pnpm lint # 运行所有 lint 检查
pnpm start # 启动 Docker 服务- Monorepo: Nx
- 后端: NestJS + TypeORM + MySQL
- 前端: Vue 3 + TypeScript + Vite
- 共享: TypeScript 类型和常量
- 容器: Docker + Docker Compose
marketing-ddd/
├── apps/
│ ├── server/ # NestJS 后端 API
│ └── web/ # Vue 3 前端应用
├── libs/
│ └── shared/ # 前后端共享的类型和常量
├── docker-compose.yml # Docker 编排配置
└── Dockerfile # 多阶段构建配置
后端环境变量 (apps/server/.env):
DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=password
DB_DATABASE=marketing_ddd
PORT=3000
NODE_ENV=developmentGET /api/health- 健康检查GET /api/users- 获取用户列表POST /api/users- 创建用户GET /api/users/:id- 获取单个用户PATCH /api/users/:id- 更新用户DELETE /api/users/:id- 删除用户
# 构建并启动
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down访问地址:
- 前端: http://localhost:4200
- 后端 API: http://localhost:3000