常用命令
安装 CLI
npm install -g @nestjs/cli
项目相关
创建新项目
# 创建新项目
nest new project-name
# 使用特定包管理器
nest new project-name --package-manager npm
nest new project-name --package-manager yarn
nest new project-name --package-manager pnpm
运行项目
# 开发模式运行
npm run start
# 监听模式运行
npm run start:dev
# 生产模式运行
npm run start:prod
代码生成
生成模块
nest g module users
生成控制器
nest g controller users
nest g controller users/profile # 生成子目录控制器
生成服务
nest g service users
nest g service users/auth
生成资源(CRUD)
# 生成完整的 CRUD 资源
nest g resource users
# 选项:
# --no-spec 不生成测试文件
# --flat 不创建目录
nest g resource users --no-spec --flat
其他生成命令
# 生成中间件
nest g middleware logger
# 生成拦截器
nest g interceptor transform
# 生成管道
nest g pipe validation
# 生成守卫
nest g guard auth
# 生成装饰器
nest g decorator roles
构建与测试
构建项目
# 构建项目
npm run build
# 构建并监听变化
npm run build:watch
运行测试
# 运行单元测试
npm run test
# 监听模式运行测试
npm run test:watch
# 运行端到端测试
npm run test:e2e
# 测试覆盖率
npm run test:cov
调试命令
开发调试
# 使用 Node.js 调试器运行
npm run start:debug
其他实用命令
# 格式化代码
npm run format
# 运行 lint
npm run lint
# 自动修复 lint 问题
npm run lint:fix
最佳实践
-
使用资源生成器
- 使用
nest g resource快速生成完整的 CRUD 功能 - 根据需要选择 REST API 或 GraphQL
- 自动生成测试文件和类型定义
- 使用
-
开发流程建议
- 使用
start:dev进行开发 - 定期运行测试确保功能正常
- 提交代码前运行 lint 和格式化
- 使用
-
调试技巧
- 使用
start:debug配合 VS Code 调试 - 设置断点进行调试
- 查看详细的运行时信息
- 使用