NestJs学习之旅(9)——拦截器

本文是NestJs的第九篇,讲解拦截器。

拦截器是一个实现了NestInterceptor接口且被@Injectable装饰器修饰的类。

img

NestJs学习之旅(8)——管道

本文是NestJs学习之旅的第八篇,讲解管道。

管道

熟悉Linux命令的伙伴应该对“管道运算符”不陌生。

1
ls -la | grep demo

NestJs学习之旅(7)——路由守卫

本文是NestJs的第七篇,讲解路由守卫。

传统的Web应用中去检测用户登录、权限判断等等都是在控制器层或者中间件层做的,而在目前比较推荐的模块化与组件化架构中,不同职责的功能建议拆分到不同的类文件中去。

通过前几篇的学习可以发现NestJs在这方面做的很好,传统的express/koa应用中,需要开发者去思考项目结构以及代码组织,而NestJs不需要你这样做,降低了开发成本,另外也统一了开发风格。

NestJs学习之旅(6)——异常处理

本文是NestJs的第六篇,讲解异常处理。

传统的异常处理

在前面的内容中我们介绍了NestJs的几大常用组件,但是有一点没有做出说明,当我们的应用需要中断此次请求且输出错误信息时,我们需要怎么做?

这个问题有两种解决办法:

socks5协议详解

Socks5代理协议

或许你没听说过socks5,但你一定听说过SS,SS内部使用的正是socks5协议。

socks5是一种网络传输协议,主要用于客户端与目标服务器之间通讯的透明传递。

该协议设计之初是为了让有权限的用户可以穿过防火墙的限制,访问外部资源。

NestJs学习之旅(5)——中间件

本文是NestJs学习之旅的第五篇,讲解中间件。

中间件

中间件是在路由处理程序之前调用的函数。中间件函数可以访问请求响应对象。

使用过koa和express的朋友应该知道,中间件是一个很核心的功能,尤其是koa,核心就是中间件,连路由功能都是由中间件提供的。

NestJs学习之旅(4)——模块系统

本文是NestJs学习之旅的第四篇,讲解模块系统。

模块

NestJs中模块是构建和组织业务单元的基本元素。使用@Module()装饰模块来声明该模块的元信息:

NestJs学习之旅(3)——服务提供者

本文是NestJs学习之旅的第三篇,讲解服务提供者。

简介

服务提供者是NestJs一个非常重要的概念,一般来说,被装饰器@Injectable()修饰的类都可以视为服务提供者。服务提供者一般包含以下几种:

NestJs学习之旅(2)——控制器

本文是NestJs学习之旅的第二篇,主要讲解控制器。

MVC

说到控制器就不得不说经典的MVC架构。

NestJs学习之旅(1)——快速开始

本文是NestJs学习之旅的第一篇,简要介绍一下NestJs框架,搭建一个Hello World应用。

介绍

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

1
2
3
4
5
6
7
8
9
import { Controller, Get } from '@nestjs/common';

@Controller('cats')
export class CatsController {
@Get()
findAll(): string {
return 'This action returns all cats';
}
}
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×