CLI 命令参考

nest new

创建一个新的(标准模式)Nest 项目。

$ nest new <name> [options]
$ nest n <name> [options]
描述

创建并初始化一个新的 Nest 项目。提示选择包管理器。

  • 创建具有给定 <name> 的文件夹
  • 用配置文件填充该文件夹
  • 为源代码(/src)和端到端测试(/test)创建子文件夹
  • 用应用程序组件和测试的默认文件填充子文件夹
参数
参数描述
<name>新项目的名称
选项
选项描述
--dry-run报告将进行的更改,但不更改文件系统。
别名:-d
--skip-git跳过 git 仓库初始化。
别名:-g
--skip-install跳过包安装。
别名:-s
--package-manager [package-manager]指定包管理器。使用 npmyarnpnpm。包管理器必须全局安装。
别名:-p
--language [language]指定编程语言(TSJS)。
别名:-l
--collection [collectionName]指定原理集合。使用包含原理的已安装 npm 包的包名。
别名:-c
--strict启动项目时启用以下 TypeScript 编译器标志:strictNullChecksnoImplicitAnystrictBindCallApplyforceConsistentCasingInFileNamesnoFallthroughCasesInSwitch

nest generate

根据原理生成和/或修改文件

$ nest generate <schematic> <name> [options]
$ nest g <schematic> <name> [options]
参数
参数描述
<schematic>要生成的 schematiccollection:schematic。有关可用的原理,请参见下表。
<name>生成的组件的名称。
原理
名称别名描述
app在 monorepo 中生成新应用程序(如果是标准结构,则转换为 monorepo)。
librarylib在 monorepo 中生成新库(如果是标准结构,则转换为 monorepo)。
classcl生成新类。
controllerco生成控制器声明。
decoratord生成自定义装饰器。
filterf生成过滤器声明。
gatewayga生成网关声明。
guardgu生成守卫声明。
interfaceitf生成接口。
interceptoritc生成拦截器声明。
middlewaremi生成中间件声明。
modulemo生成模块声明。
pipepi生成管道声明。
providerpr生成提供者声明。
resolverr生成解析器声明。
resourceres生成新的 CRUD 资源。有关更多详细信息,请参阅 CRUD(资源)生成器。(仅限 TS)
services生成服务声明。
选项
选项描述
--dry-run报告将进行的更改,但不更改文件系统。
别名:-d
--project [project]应添加元素的项目。
别名:-p
--flat不为元素生成文件夹。
--collection [collectionName]指定原理集合。使用包含原理的已安装 npm 包的包名。
别名:-c
--spec强制生成 spec 文件(默认)
--no-spec禁用 spec 文件生成

nest build

将应用程序或工作区编译到输出文件夹。

此外,build 命令负责:

  • 通过 tsconfig-paths 映射路径(如果使用路径别名)
  • 使用 OpenAPI 装饰器注释 DTO(如果启用了 @nestjs/swagger CLI 插件)
  • 使用 GraphQL 装饰器注释 DTO(如果启用了 @nestjs/graphql CLI 插件)
$ nest build <name> [options]
参数
参数描述
<name>要构建的项目名称。
选项
选项描述
--path [path]tsconfig 文件的路径。
别名 -p
--config [path]nest-cli 配置文件的路径。
别名 -c
--watch在监视模式下运行(实时重新加载)。
如果你使用 tsc 进行编译,可以输入 rs 重新启动应用程序(当 manualRestart 选项设置为 true 时)。
别名 -w
--builder [name]指定用于编译的构建器(tscswcwebpack)。
别名 -b
--webpack使用 webpack 进行编译(已弃用:改用 --builder webpack)。
--webpackPathwebpack 配置的路径。
--tsc强制使用 tsc 进行编译。
--watchAssets监视非 TS 文件(如 .graphql 等资产)。有关更多详细信息,请参阅资产
--type-check启用类型检查(当使用 SWC 时)。
--all构建 monorepo 中的所有项目。
--preserveWatchOutput在监视模式下保留过时的控制台输出,而不是清屏。(仅限 tsc 监视模式)

nest start

编译并运行应用程序(或工作区中的默认项目)。

$ nest start <name> [options]
参数
参数描述
<name>要运行的项目名称。
选项
选项描述
--path [path]tsconfig 文件的路径。
别名 -p
--config [path]nest-cli 配置文件的路径。
别名 -c
--watch在监视模式下运行(实时重新加载)
别名 -w
--builder [name]指定用于编译的构建器(tscswcwebpack)。
别名 -b
--preserveWatchOutput在监视模式下保留过时的控制台输出,而不是清屏。(仅限 tsc 监视模式)
--watchAssets在监视模式下运行(实时重新加载),监视非 TS 文件(资产)。有关更多详细信息,请参阅资产
--debug [hostport]在调试模式下运行(使用 --inspect 标志)
别名 -d
--webpack使用 webpack 进行编译。(已弃用:改用 --builder webpack
--webpackPathwebpack 配置的路径。
--tsc强制使用 tsc 进行编译。
--exec [binary]要运行的二进制文件(默认:node)。
别名 -e
--no-shell不在 shell 中生成子进程(参见 node 的 child_process.spawn() 方法文档)。
--env-file从相对于当前目录的文件加载环境变量,使它们在 process.env 上对应用程序可用。
-- [key=value]可以用 process.argv 引用的命令行参数。

nest add

导入已打包为 nest 库的库,运行其安装原理。

$ nest add <name> [options]
参数
参数描述
<name>要导入的库名称。

nest info

显示有关已安装的 nest 包和其他有用的系统信息。例如:

$ nest info
 _   _             _      ___  _____  _____  _     _____
| \ | |           | |    |_  |/  ___|/  __ \| |   |_   _|
|  \| |  ___  ___ | |_     | |\ `--. | /  \/| |     | |
| . ` | / _ \/ __|| __|    | | `--. \| |    | |     | |
| |\  ||  __/\__ \| |_ /\__/ //\__/ /| \__/\| |_____| |_
\_| \_/ \___||___/ \__|\____/ \____/  \____/\_____/\___/

[System Information]
OS Version : macOS High Sierra
NodeJS Version : v20.18.0
[Nest Information]
microservices version : 10.0.0
websockets version : 10.0.0
testing version : 10.0.0
common version : 10.0.0
core version : 10.0.0