Skip to content

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