NestJS 终端命令
命令语法
shell
# 语法
nest g [类型] [名称] [选项]
# help 查看创建命令
nest --help
# help 查看创建时的选项命令
nest g --help
# [类型]
module 模块
controller 控制器
service 服务
resource CRUD
middleware 中间件
interceptor 拦截器
filter 过滤器
guard 管道
decorator 装饰器
# [名称]
实体名
# [选项]
--dry-run: 模拟生成,不实际创建文件
--flat: 不生成子目录
--no-spec: 不生成测试文件 # 常用,比如创建不生成测试文件控制器:nest g controller users --no-spec
--project: 在多项目工作区中指定项目
--path: 指定生成路径 # 常用,比如创建管道,指定目录为 pipe/validation:nest g pipe pipe/validation生成模块
shell
# 命令
nest g module users
# 结果
src/users/users.module.ts生成控制器
shell
# 命令
nest g controller users
# 结果
src/users/users.controller.ts
src/users/users.controller.spec.ts生成服务
shell
# 命令
nest g service users
# 结果
src/users/users.service.ts
src/users/users.service.spec.ts生成完整的 CRUD 资源
shell
# 命令 (这会生成模块、服务、控制器、实体和 DTO)
nest g resource roles
#❯ REST API
# GraphQL (code first)
# GraphQL (schema first)
# Microservice (non-HTTP)
# WebSockets
# y --> REST API
# 回车
# 结果
src/roles/dto/create-role.dto.ts
src/roles/dto/update-role.dto.ts
src/roles/entities/role.entity.ts
src/roles/roles.controller.spec.ts
src/roles/roles.module.ts
src/roles/roles.service.spec.ts
src/roles/roles.service.ts生成中间件
shell
# 命令
nest g middleware middleware/logger
# 结果
src/middleware/logger/logger.middleware.spec.ts
src/middleware/logger/logger.middleware.ts生成拦截器
shell
# 命令
nest g interceptor interceptor/transform
# 结果
src/interceptor/transform/transform.interceptor.spec.ts
src/interceptor/transform/transform.interceptor.ts生成过滤器
shell
# 命令
nest g filter filter/http-exception
# 结果
src/filter/http-exception/http-exception.filter.spec.ts
src/filter/http-exception/http-exception.filter.ts生成守卫
shell
# 命令
nest g guard guard/roles
# 结果
src/guard/roles/roles.guard.spec.ts
src/guard/roles/roles.guard.ts生成管道
shell
# 命令
nest g pipe pipe/validation
# 结果
src/pipe/validation/validation.pipe.spec.ts
src/pipe/validation/validation.pipe.ts生成装饰器
shell
# 命令
nest g decorator decorator/roles
# 结果
src/decorator/roles/roles.decorator.ts