概述
Nest CLI 是一个命令行界面工具,帮助你初始化、开发和维护你的 Nest 应用程序。它以多种方式提供帮助,包括搭建项目、在开发模式下提供服务,以及构建和打包应用程序以进行生产分发。它体现了最佳实践的架构模式,以鼓励构建结构良好的应用程序。
安装
注意:在本指南中,我们描述使用 npm 安装包,包括 Nest CLI。你可以自行决定使用其他包管理器。使用 npm,你有几个选项可用于管理操作系统命令行如何解析 nest CLI 二进制文件的位置。在这里,我们描述使用 -g 选项全局安装 nest 二进制文件。这提供了一定的便利性,也是我们在整个文档中假设的方法。请注意,全局安装任何 npm 包都让用户有责任确保他们运行的是正确的版本。这也意味着如果你有不同的项目,每个项目都将运行相同版本的 CLI。一个合理的替代方法是使用 npx 程序,它内置于 npm cli(或其他包管理器的类似功能)中,以确保你运行 Nest CLI 的托管版本。我们建议你查阅 npx 文档和/或你的 DevOps 支持人员以获取更多信息。
使用 npm install -g 命令全局安装 CLI(有关全局安装的详细信息,请参阅上面的注意)。
或者,你可以使用此命令 npx @nestjs/cli@latest 而无需全局安装 CLI。
基本工作流程
安装后,你可以通过 nest 可执行文件直接从操作系统命令行调用 CLI 命令。通过输入以下内容查看可用的 nest 命令:
使用以下构造获取单个命令的帮助。在下面的示例中,将任何命令(如 new、add 等)替换为 generate,以获取该命令的详细帮助:
要在开发模式下创建、构建和运行一个新的基本 Nest 项目,转到应该是新项目父级的文件夹,并运行以下命令:
在浏览器中,打开 http://localhost:3000 查看新应用程序运行。当你更改任何源文件时,应用程序将自动重新编译和重新加载。
我们建议使用 SWC 构建器 以获得更快的构建速度(比默认的 TypeScript 编译器快 10 倍)。
项目结构
当你运行 nest new 时,Nest 通过创建新文件夹并填充一组初始文件来生成样板应用程序结构。你可以继续在此默认结构中工作,添加新组件,如本文档中所述。我们将 nest new 生成的项目结构称为标准模式。Nest 还支持另一种用于管理多个项目和库的结构,称为 monorepo 模式。
除了关于构建过程如何工作的一些特定考虑事项(本质上,monorepo 模式简化了有时可能由 monorepo 风格的项目结构产生的构建复杂性)和内置库支持外,Nest 的其余功能以及本文档同样适用于标准和 monorepo 模式项目结构。事实上,你可以随时在将来轻松地从标准模式切换到 monorepo 模式,因此你可以在学习 Nest 时安全地推迟此决定。
你可以使用任一模式来管理多个项目。以下是差异的快速摘要:
阅读工作区和库部分以获取更详细的信息,帮助你决定哪种模式最适合你。
CLI 命令语法
所有 nest 命令遵循相同的格式:
例如:
这里,new 是 commandOrAlias。new 命令有一个别名 n。my-nest-project 是 requiredArg。如果命令行中未提供 requiredArg,nest 会提示输入。此外,--dry-run 有一个等效的简写形式 -d。考虑到这一点,以下命令与上述命令等效:
大多数命令和一些选项都有别名。尝试运行 nest new --help 查看这些选项和别名,并确认你对上述构造的理解。
命令概述
对以下任何命令运行 nest <command> --help 以查看命令特定的选项。
有关每个命令的详细描述,请参阅用法。
要求
Nest CLI 需要使用国际化支持 (ICU) 构建的 Node.js 二进制文件,例如 Node.js 项目页面的官方二进制文件。如果你遇到与 ICU 相关的错误,请检查你的二进制文件是否满足此要求。
如果命令打印 undefined,则你的 Node.js 二进制文件没有国际化支持。

