NestJS 之 安装
前言
Nest 简介
Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用的框架。它使用渐进式 JavaScript,构建并完全支持 TypeScript(但仍允许开发者使用 JavaScript 进行编码)并结合了 OOP(面向对象编程)、FP(函数式编程)和 FRP(函数式反应式编程)的元素。
近年来,得益于 Node.js
,JavaScript
已成为前端和后端应用的 Web “通用语言”。这催生了 Angular
、React
和 Vue
等出色的项目,它们提高了开发者的工作效率,并支持创建快速、可测试和可扩展的前端应用。然而,尽管 Node(和服务器端 JavaScript)存在大量出色的库、辅助程序和工具,但它们都没有有效解决以下主要问题: - 架构。
Nest 提供开箱即用的应用架构,允许开发者和团队创建高度可测试、可扩展、松耦合且易于维护的应用。该架构深受 Angular
的启发。
使用Nest 的先决条件
-
操作系统上安装了
Node.js
( 版本 >= 16 ) -
(非必需) 掌握 TypeScript
-
已安装 npm / pnpm
写在前面的话
在这里个人认为,Nest 框架的思想极其接近后端,所以可能在学习的过程中会比较难以理解与困难,本笔记也会尽最大的努力,分步写出步骤来帮助大家理解。注意: 本笔记使用的是TS 语言。
Tips:本文中标题内带*
的标题为比较重要;带!
的标题为较有难度挑战,略微了解看看即可;在发布与Nest相关的内容时会分小章节来发布。
安装 Nest
输入命令
首先在操作系统的终端内通过cd
命令跳转至你想存放项目的目录下,随后通过以下命令来安装Nest 的脚手架:
pnpm i -g @nestjs/cli
nest new your-project-name
其中,当你新建项目时,会触发以下选项:
在这里我个人选择的是 pnpm,因为说直白一点,pnpm 就是npm 的pro 版本,何乐而不为?
当你看到如下图片时,就是已经安装成功了:
随后当你创建项目成功后,它的核心目录src
下的文件应该如下:
src
├─ app.controller.spec.ts
├─ app.controller.ts
├─ app.module.ts
├─ app.service.ts
├─ main.ts
这里做一些简短的概述:
文件名 | 描述 |
---|---|
app.controller.ts | 具有单一路由的基本控制器 |
app.controller.spec.ts | 控制器的单元测试 |
app.module.ts | 应用的根模块 |
app.service.ts | 具有单一方法的基本服务 |
main.ts | 使用核心函数NestFactory 创建Nest 应用实例的应用入口文件 |
运行
随后我们就应该让项目跑起来了,首先需要通过cd
命令将当前目录转到项目根目录下,然后:
cd your-project-name
pnpm run start
# 如果要监视文件中的更改, 则用以下命令
pnpm run start:dev
此命令会启动项目,HTTP 服务器会监听src/main.ts
文件中定义的端口,默认的端口是3000
,所以打开浏览器并输入对应的网址localhost:3000
,就能看到对应的页面了。
如下:
到这里,我们就完成了最基本的Nest 的安装。接下来我们会逐步接触到控制器(Controller),提供器 (Provider),模块 (Module),中间件 (Middleware),异常过滤器 (Exception filter),管道(Pipe),守卫(Guard) 以及拦截器(Interceptor) 等。
后面的内容我也会逐一整理之后给大家总结出来,虽然Nest 对于学前端的人来说比较困难,但是慢慢理解逐一吸收,相信我们同样可以很快了解吸收和掌握。