Nest.js的一些笔记

本文介绍了Nest.js,一个基于Express的Node.js框架,强调其面向对象、函数式和反应式编程的融合,以及其提供开箱即用的架构、服务与控制器模式。讲解了如何安装和使用NestCLI创建项目,以及Nest.js的优势和启动项目的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Nest是什么

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

Nest 使用了强大的 HTTP 服务器框架,如 Express(默认),也可以选择配置为使用 Fastify

Nest 在这些常见的 Node.js 框架(Express/Fastify)之上提供了一个抽象级别,但也直接向开发者公开了它们的 API。这使开发者可以自由使用可用于底层平台的无数第三方模块。Nest 提供开箱即用的应用架构,允许开发者和团队创建高度可测试、可扩展、松耦合且易于维护的应用。该架构深受 Angular 的启发。

在 Nest.js 中,使用控制器(Controller)和服务(Service)的组合是一种推荐的架构模式。控制器负责处理客户端的请求和响应,而服务则负责处理具体的业务逻辑。这种模式的好处是将请求处理和业务逻辑分离,使代码更具可读性、可维护性和可测试性。

二、了解一下express

Express.js 是一个基于 Node.js 的 Web 应用程序框架,可以被视为对 Node.js 的封装。Express.js 提供了简化和抽象化的 API,使得在 Node.js 上构建 Web 应用程序变得更加简单和高效。

Node.js 本身提供了处理网络请求和构建 Web 服务器的能力,但它的 API 相对底层,需要开发者手动处理很多细节。而 Express.js 通过封装 Node.js 的功能,提供了更高层次的抽象和开发工具,使得构建 Web 应用程序变得更加便捷。


// Express 实现一个请求
const express = require('express');
const app = express();
 
app.get('/test', (request, response) => {
  response.send('hello world');
});
app.listen(3000)

Nest.js 基于 Express.js 提供了更高层次的抽象和功能扩展。它引入了一些新的概念,模块、控制器和中间件,以帮助开发者更好地组织和管理代码。Nest.js 还提供了一套强大的依赖注入系统,可以帮助解耦组件之间的依赖关系,并方便进行单元测试。

三、Nest.js 优势

四、Nest的安装和项目创建

1.通过脚手架 nest-cli创建项目

 npm i -g @nestjs/cli

这里可以通过如下命令新建项目:

nest new project-name

或者使用typescript

nest new project-name --strict

2.自己安装核心的依赖并创建项目

你还可以通过使用 npm(或 yarn)安装核心和支持文件来从头开始手动创建新项目。在这种情况下,当然,你将负责自己创建项目样板文件。


$ npm i --save @nestjs/core @nestjs/common rxjs reflect-metadata

 五、启动项目

进入项目并执行命令:

npm run start

想要监视文件中的更改,热更新服务器,你可以运行以下命令来启动应用:


$ npm run start:dev

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weifont

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值