NestJS折腾记
crper
对设计、交互、产品都有自己的见解和追求;更多关于我:https://www.yuque.com/crper/blog/about_me
展开
-
NestJS 7.x 折腾记: (6) 异常过滤器,取其精华去其糟粕!比如响应异常数据的包装~
前言正如官方所说:内置的异常层负责处理整个应用程序中的所有抛出的异常。当捕获到未处理的异常时,最终用户将收到友好的响应。NestJS提供了一波拿来即用的内置异常过滤器;在@nestjs/common里面,搜索下Exception就有~我们来一个具体的例子(全局异常过滤),基于内置的异常过滤器实现,采用第三方日志(pino)记录异常日志,做一些处理并包裹返回信息;效果图实战# 基于cli生成filter模板nest g f common/filters/http-exceptionhttp-e原创 2020-11-16 17:06:43 · 801 阅读 · 0 评论 -
NestJS 7.x 折腾记: (5) 管道,一个好玩的东西!比如入参校验!
前言管道这个词,若是有玩过Linux的小伙伴肯定知晓,比如(看图):意思就git的提交记录以单行显示的前三条,而且提交概要中有build这个词的~在nest里面的管道,主要是用来做入参数据类型的拦截转换;跟ng提供的概念差不多,大同小异~~效果图实战其实官方教程写的挺好了,局部管道和全局管道都写到了,这里我们以更具通用性的入参全局管道做例子,尽量写的更贴近业务和更为粗俗的解释吧~安装# class-validator: 提供非常丰富的类型装饰器# class-transformer: 可以原创 2020-11-13 17:21:21 · 945 阅读 · 0 评论 -
NestJS 7.x 折腾记: (4) Swagger接入及相关用法
前言swagger这东东,萝卜青菜各有所爱吧.反正我呆的公司用这个,我用的也还行~~~有兴趣的可以瞅瞅~说说优点吧,可以精确的展示每个字段意义,只要注解写的到位!schema也能正常读取!还能直接测试接口!效果图以下就是配置好及写一些demo接口所展示的效果实战安装# 前者是swagger的nest module,官方团队维护的# 后者是适配express的swagger ui库# 库用新不用旧,语法会有所差异!yarn add @nestjs/swagger swagger-ui-e原创 2020-11-10 15:20:34 · 3669 阅读 · 0 评论 -
NestJS 7.x 折腾记: (3) 采用nestjs-pino作为Nest logger
前言内置的logger不是很满足个人的需求,所以找了下社区主流的日志实现,从log4js,winston, 到选型pino .是另外两个不好么,那倒不是.萝卜青菜各有所爱吧,pino够轻量,自定义还算丰富,性能还很高!!效果图开发模式INFO [2020-11-09 08:45:12.336 +0000] (56588 on crper-MBP.local): AppController {/api/v1}: context: "RoutesResolver"INFO [原创 2020-11-09 17:51:59 · 3366 阅读 · 2 评论 -
NestJS 7.x 折腾记: (2) 环境变量及配置维护
前言在写后端的时候,我们一般提倡配置文件分离.所以.env就可以很方面来维护我们的环境变量,封装对应的工厂函数也能组合更复杂的配置!比如我们用镜像(Docker),就可以外部映射配置文件目录;达到不同环境使用差异化配置的需求!(运行时加载是允许的!)其他不多说,往下可以看看我的配置分离思路~~实战安装@nestjs/config : 基于dotenv 封装的Nest配置中心joi : 一个很灵活的schema校验工具@types/hapi__joi : joi的typescript声明原创 2020-11-07 14:02:34 · 3090 阅读 · 1 评论 -
NestJS 7.x 折腾记: (1) 项目初始化及常规提交门禁加入
前言系列常规操作,没兴趣的可以跳过这篇水文.写过Angular 2+的小伙伴会有一种天然的熟悉感.因为Nest基本就是同一个思想模式搞得~~实操安装npm i -g @nestjs/cliCLI Help还是熟悉的问题,极具通用性的CLI,可以快速创建各种模块和中间件~ linqunhe@crper-MBP ~/Code neh Usage: nest <command> [options]Options: -v,原创 2020-11-06 14:31:24 · 992 阅读 · 0 评论 -
NestJS 7.x 折腾记: (0) 起手式-> VS Code 1.5+ Debug NestJS
前言随着7.x的到来,以及VS Code的不断完善.NestJS的断点调试的开启比较容易.效果图配置流程开启自动附加Ctrl(CMD)+Shift+P --> Debug: Toggle Auto Attach常规debug我们都是走inspect模式,所以看你习惯了若是始终开启,有些常规的项目,会频繁报错进程异常Debug(.vscode)若是没有以下这两个文件(初始化),执行F5会报错,然后可以根据引导进去调整.也可以从"显示所有命令进入(cmd+shift+p)",如原创 2020-11-02 17:56:49 · 619 阅读 · 0 评论