NestJS 介绍

Nest 框架介绍

Nest(NestJS)是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的框架。它使用渐进式 JavaScript 构建并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码),并结合了 OOP(面向对象编程),FP(函数式编程)和 FRP(函数式反应式编程)的元素。
Nest 默认使用 Express 框架提供 Http 服务。

创建项目

首先,我们需要安装 Nest 脚手架,执行以下命令:

1
npm i -g @nestjs/cli

安装完成后,新建一个项目:

1
nest new project-name

在 package.json 文件中,Nest 为我们提供了多种命令,其中 start 用于启动项目,start:dev 不仅可以启动项目,还可以在修改代码后自动重新编译和重新加载服务器。
此外,我们还可以使用 SWC 来编译项目,它的构建速度比默认的 TypeScript 编译器快大约 20 倍。只需进行以下配置:
(1)安装依赖

1
npm i --save-dev @swc/cli @swc/core

(2)修改 nest-cli.json 文件

1
2
3
4
5
6
7
8
9
10
{
"$schema": "https://json.schemastore.org/nest-cli",
"collection": "@nestjs/schematics",
"sourceRoot": "src",
"compilerOptions": {
"deleteOutDir": true,
"builder": "swc",
"typeCheck": true
}
}

"builder": "swc" 指定了构建工具为 SWC
"typeCheck": true 由于 SWC 不会进行类型检查,因此需要此项配置去启动 tsc 进行类型检查
现在,启动服务时就会运行 SWC 了。

核心思想