概述
Nest 命令行接口 是一个命令行接口工具,可帮助你初始化、开发和维护你的 Nest 应用。它以多种方式提供帮助,包括搭建项目、在开发模式下提供服务,以及构建和打包用于生产分发的应用。它体现了最佳实践架构模式,以鼓励结构良好的应用。
文章的所有内容来源官方文档、中文文档。
以下所有的操作请在对应的目录下进行。
1.CLI 命令语法
所有 nest 命令都遵循相同的格式:
nest commandOrAlias requiredArg [optionalArg] [options]
例如:
nest new [项目名称] --dry-run
这里,new
是 commandOrAlias。new
命令的别名是 n。[项目名称]
是必需的参数。如果命令行上未提供 requiredArg,nest
将提示输入它。此外,--dry-run
具有等效的简写形式 -d
。考虑到这一点,以下命令等同于上面的命令:
nest n my-project-name -d
my-project-name
同等[项目名称]
。
命令概述
对以下任何命令运行 nest --help 以查看特定于命令的选项。
命令 | 别名 | 描述 |
---|---|---|
new | n | 搭建一个新的标准模式应用,其中包含运行所需的所有样板文件。 |
generate | g | 根据原理图生成和/或修改文件。 |
build | 将应用或工作区编译到输出文件夹中。 | |
start | 编译并运行应用(或工作区中的默认项目)。 | |
add | 导入已打包为嵌套库的库,运行其安装原理图。 | |
info | i | 显示有关已安装的嵌套包的信息和其他有用的系统信息。 |
例如使用nest i
查看项目的信息,需要在项目的根目录下使用,package.json
同文件夹下。
2.生成一个增删改查模块
nest g resource 命令不仅生成所有 NestJS 构建块(模块、服务、控制器类),还生成实体类、DTO 类以及测试 (.spec) 文件。需要选择生成REST API
。
nest g resource [name]
同样,如果你想为 GraphQL 应用生成解析器,只需选择 GraphQL (code first)(或 GraphQL (schema first))作为你的传输层。
不需要测试文件,使用--no-spec
:
nest g resource [name] --no-spec
2. 其他生成
生成模块 (nest g mo
) 以保持代码井井有条并建立清晰的边界(对相关组件进行分组)
生成控制器 (nest g co
) 来定义 CRUD 路由(或 GraphQL 应用的查询/变更)
生成服务 (nest g s
) 以实现和隔离业务逻辑
输入nest g --help
查看所有可操作的命令