请确保您的操作系统上安装了 Node.js(> = 8.9.0)。
一分钟安装 node.js (支持X86 ARM MIPS 等架构,需要版本管理或者系统为 Raspbian 请直接看 NVM)
Powershell/CMD 可以打印出这个说明安装成功。(部分系统需要重启后环境变量才生效)
$node -v v12.10.0 $ npm -v
就是这么简单! 不需要安装拓展,不需要额外安装 nginx/apache
使用 Nest CLI 建立新项目非常简单。 只要确保你已经安装了 npm,然后在你的 OS 终端中使用以下命令:
$ npm i -g @nestjs/cli $ nest new project-name
yarn
$ yarn global add @nestjs/cli $ nest new project-name
将创建 project
目录, 安装node模块和一些其他样板文件,并将创建一个 src
目录,目录中包含几个核心文件。
src ├── app.controller.ts ├── app.module.ts └── main.ts
以下是这些核心文件的简要概述:
app.controller.ts | 带有单个路由的基本控制器示例。 |
app.module.ts | 应用程序的根模块。 |
main.ts | 应用程序入口文件。它使用 NestFactory 用来创建 Nest 应用实例。 |
main.ts
包含一个异步函数,它负责引导我们的应用程序:
import { NestFactory } from '@nestjs/core'; import { ApplicationModule } from './app.module'; async function bootstrap() { const app = await NestFactory.create(ApplicationModule); await app.listen(3000); } bootstrap();
要创建一个 Nest 应用实例,我们使用了 NestFactory
核心类。NestFactory
暴露了一些静态方法用于创建应用实例。 create()
方法返回一个实现 INestApplication
接口的对象, 并提供一组可用的方法, 在后面的章节中将对此进行详细描述。 在上面的main.ts示例中,我们只是启动 HTTP 服务器,它允许应用程序等待入站 HTTP 请求。
请注意,使用 Nest CLI 搭建的项目会创建一个初始项目结构,我们鼓励开发人员将每个模块保存在自己的专用目录中。
Nest 旨在成为一个与平台无关的框架。 通过平台,可以创建可重用的逻辑部件,开发人员可以利用这些部件来跨越多种不同类型的应用程序。 从技术上讲,Nest 可以在创建适配器后使用任何 Node HTTP 框架。 有两个支持开箱即用的 HTTP 平台:express 和 fastify。 您可以选择最适合您需求的产品。
platform-express | Express 是一个众所周知的 node.js 简约 Web 框架。 这是一个经过实战考验,适用于生产的库,拥有大量社区资源。
默认情况下使用 @nestjs/platform-express 包。 许多用户都可以使用 Express
,并且无需采取任何操作即可启用它。 |
platform-fastify | Fastify 是一个高性能,低开销的框架,专注于提供最高的效率和速度。 在这里阅读如何使用它。 |
无论使用哪种平台,它都会暴露自己的应用程序界面。 它们分别被视为 NestExpressApplication 和 NestFastifyApplication。
将类型传递给 NestFactory.create() 方法时,如下例所示,app 对象将具有专用于该特定平台的方法。 但是,请注意,除非您确实要访问底层平台API,否则无需指定类型。
const app = await NestFactory.create(ApplicationModule);
安装过程完成后,您可以在系统命令提示符下运行以下命令,以启动应用程序监听入站 HTTP 请求:
$ npm run start
此命令在 src
目录中的 main.ts
文件中定义的端口上启动 HTTP 服务器。在应用程序运行时,
打开浏览器并访问 http://localhost:3000/
。 你应该看到 Hello world!
信息。