五分钟带你入门基于Nodejs的强大的Web框架— NestJS

NestJS是一个用于构建高效、可扩展的服务器端应用程序的框架,基于Express和Fastify。本文介绍了NestJS的基本概念,包括装饰器、控制器、提供者、模块、NestFactory、中间件的使用,并提供了学习资源。
摘要由CSDN通过智能技术生成

点击上方 前端Q,关注公众号

回复加群,加入前端Q技术交流群

简介

Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架。在底层,Nest 使用强大的 HTTP Server 框架,如 Express(默认)和 Fastify。Nest 在这些框架之上提供了一定程度的抽象,同时也将其 API 直接暴露给开发人员。这样可以轻松使用每个平台的无数第三方模块。

支持 TypeScript(也支持纯 js 编写代码),默认支持最新的 ES6 等语法和特性(用 babel 做代码转换)。node 版本要求 >= 10.13.0, v13 版本除外

要了解 Nest ,建议先了解一下装饰器,因为 Nest 里面的方法很多都是以装饰器的方式提供的,下面我简单介绍一下。已经了解的朋友可以跳过~

装饰器

装饰器(Decorator)是一种与类(class)相关的语法,用来注释或修改类和类方法。它是一种函数,写成@ + 函数名的形式。它可以放在类和类方法的定义前面。

@testable
  class MyTestableClass {
    // ...
  }
  function testable(target) {
    target.isTestable = true;
  }
  MyTestableClass.isTestable // true

基本上,装饰器的行为就是下面这样。

@decorator
  class A {}
  // 等同于
  class A {}
  A = decorator(A) || A;

也就是说,装饰器是一个对类进行处理的函数。装饰器函数的第一个参数,就是所要装饰的目标类。

注意点
  • 装饰器对类的行为的改变,是代码编译时发生的,而不是在运行时。这意味着,装饰器能在编译阶段运行代码。也就是说,装饰器本质就是编译时执行的函数。

  • 装饰器只能用于类和类的方法,不能用于函数,因为存在函数提升。如果一定要装饰函数,可以采用高阶函数的形式直接执行。

Nest 基本介绍

安装使用这里就不说了,可以到官网按照其引导来进行:https://docs.nestjs.com/first-steps。

生成的核心文件结构为:

src
  |-app.controller.spec.ts
  |-app.controller.ts
  |-app.module.ts
  |-app.service.ts
  |-main.ts

其代表的含义分别为:

文件 含义
app.controller.spec.ts 控制器的单元测试
app.controller.ts 控制器逻辑文件,通常含多个路由
app.module.ts 应用程序的根模块
app.service.ts 服务文件
main.ts 应用程序的入口文件,它是基于NestFactory创建的一个Nest应用程序实例

Controller

什么是 Controller?语义化翻译就是 控制器,它负责处理传入的请求并将响应结果返回给客户端。

Nest 中,控制器和路由机制是结合在一起的,控制器的目的是接收应用程序的特定请求。其路由机制控制哪个控制器接收哪些请求。通常,每个控制器都有多个路由,不同的路由可以执行不同的操作。

我们通过装饰器 @Controller() 来将一个类定义为控制器,如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值