CLI 命令参考
nest new
创建一个新的(标准模式)Nest 项目。
$ nest new <name> [options]
$ nest n <name> [options]
描述
创建并初始化一个新的 Nest 项目。会提示选择包管理器。
- 使用给定的
<name>
创建文件夹
- 用配置文件填充该文件夹
- 创建源代码子文件夹(
/src
)和端到端测试子文件夹(/test
)
- 用默认文件填充子文件夹,包含应用组件和测试文件
参数
选项
选项 |
描述 |
--dry-run |
显示将会做出的更改,但不实际修改文件系统。别名:-d |
--skip-git |
跳过 git 仓库初始化。别名:-g |
--skip-install |
跳过包安装。别名:-s |
--package-manager [package-manager] |
指定包管理器。使用 npm、yarn 或 pnpm。包管理器必须全局安装。别名:-p |
--language [language] |
指定编程语言(TS 或 JS)。别名:-l |
--collection [collectionName] |
指定原理图集合。使用包含原理图的已安装 npm 包的包名称。别名:-c |
--strict |
启动项目时启用以下 TypeScript 编译器标志:strictNullChecks、noImplicitAny、strictBindCallApply、 forceConsistentCasingInFileNames 、noFallthroughCasesInSwitch |
nest generate
根据原理图生成和/或修改文件
$ nest generate <schematic> <name> [options]
$ nest g <schematic> <name> [options]
参数
参数 |
描述 |
|
要生成的 schematic 或 collection:schematic。可用的 schematic 请参阅下表。 |
|
所生成组件的名称。 |
原理图
名称 |
别名 |
描述 |
app |
|
在 monorepo 中生成一个新应用(如果是标准结构则转换为 monorepo)。 |
library |
lib |
在 monorepo 中生成一个新库(如果是标准结构则转换为 monorepo)。 |
class |
cl |
生成一个新类。 |
controller |
co |
生成控制器声明。 |
decorator |
d |
生成自定义装饰器。 |
filter |
f |
生成过滤器声明。 |
gateway |
ga |
生成网关声明。 |
guard |
gu |
生成守卫声明。 |
interface |
itf |
生成一个接口。 |
interceptor |
itc |
生成一个拦截器声明。 |
middleware |
mi |
生成一个中间件声明。 |
module |
mo |
生成一个模块声明。 |
pipe |
pi |
生成管道声明。 |
provider |
pr |
生成提供者声明。 |
resolver |
r |
生成解析器声明。 |
resource |
res |
生成新的 CRUD 资源。详情请参阅 CRUD(资源)生成器 。(仅限 TS) |
service |
s |
生成服务声明 |
选项
选项 |
描述 |
--dry-run |
报告将进行的更改,但不会实际修改文件系统。别名:-d |
--project [project] |
该元素应添加到的项目。别名:-p |
--flat |
不要为该元素生成文件夹。 |
--collection [collectionName] |
指定原理图集合。使用包含原理图的已安装 npm 包的包名称。别名:-c |
--spec |
强制生成规范文件(默认) |
--no-spec |
禁用规范文件生成 |
nest build
将应用程序或工作区编译到输出文件夹中。
此外,build
命令还负责:
- 通过
tsconfig-paths
映射路径(若使用路径别名)
- 使用 OpenAPI 装饰器标注 DTO(若启用
@nestjs/swagger
CLI 插件)
- 使用 GraphQL 装饰器标注 DTO(若启用
@nestjs/graphql
CLI 插件)
$ nest build <name> [options]
参数
选项
选项 |
描述 |
--path [path] |
tsconfig 文件的路径。别名 -p |
--config [path] |
nest-cli 配置文件的路径。别名 -c |
--watch |
以监听模式运行(实时重载)。如果使用 tsc 进行编译,当 manualRestart 选项设为 true 时,可输入 rs 重启应用。别名 -w |
--builder [name] |
指定用于编译的构建工具(tsc、swc 或 webpack)。别名 -b |
--webpack |
使用 webpack 进行编译(已弃用:改用 --builder webpack)。 |
--webpackPath |
webpack 配置文件的路径。 |
--tsc |
强制使用 tsc 进行编译。 |
--watchAssets |
监视非 TS 文件(如 .graphql 等资源文件)。详见资源文件章节。 |
--type-check |
启用类型检查(当使用 SWC 时)。 |
--all |
构建单仓库中的所有项目。 |
--preserveWatchOutput |
在监视模式下保留过时的控制台输出而非清屏(仅限 tsc 监视模式) |
nest start
编译并运行应用程序(或工作区中的默认项目)。
$ nest start <name> [options]
参数
选项
选项 |
描述 |
--path [path] |
tsconfig 文件的路径。别名 -p |
--config [path] |
nest-cli 配置文件的路径。别名 -c |
--watch |
以监视模式运行(实时重载)别名 -w |
--builder [name] |
指定用于编译的构建工具(tsc、swc 或 webpack)。别名 -b |
--preserveWatchOutput |
在监视模式下保留过时的控制台输出,而不是清屏。(仅限 tsc 监视模式) |
--watchAssets |
以监视模式运行(实时重载),观察非 TS 文件(资源)。详见资源获取更多详情。 |
--debug [hostport] |
以调试模式运行(带--inspect 标志)别名 -d |
--webpack |
使用 webpack 进行编译。(已弃用:改用 --builder webpack) |
--webpackPath |
webpack 配置文件的路径。 |
--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]
参数
nest 信息
显示已安装的 nest 包的相关信息及其他有用的系统信息。例如:
_ _ _ ___ _____ _____ _ _____
| \ | | | | |_ |/ ___|/ __ \| | |_ _|
| \| | ___ ___ | |_ | |\ `--. | / \/| | | |
| . ` | / _ \/ __|| __| | | `--. \| | | | | |
| |\ || __/\__ \| |_ /\__/ //\__/ /| \__/\| |_____| |_
\_| \_/ \___||___/ \__|\____/ \____/ \____/\_____/\___/
[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