
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-exception http-e原创 2020-11-16 17:06:43 · 867 阅读 · 0 评论 -
NestJS 7.x 折腾记: (5) 管道,一个好玩的东西!比如入参校验!
前言 管道这个词,若是有玩过Linux的小伙伴肯定知晓,比如(看图):意思就git的提交记录以单行显示的前三条,而且提交概要中有build这个词的~ 在nest里面的管道,主要是用来做入参数据类型的拦截转换;跟ng提供的概念差不多,大同小异~~ 效果图 实战 其实官方教程写的挺好了,局部管道和全局管道都写到了,这里我们以更具通用性的入参全局管道做例子,尽量写的更贴近业务和更为粗俗的解释吧~ 安装 # class-validator: 提供非常丰富的类型装饰器 # class-transformer: 可以原创 2020-11-13 17:21:21 · 993 阅读 · 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 · 3781 阅读 · 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 · 3452 阅读 · 2 评论 -
NestJS 7.x 折腾记: (2) 环境变量及配置维护
前言 在写后端的时候,我们一般提倡配置文件分离.所以.env就可以很方面来维护我们的环境变量,封装对应的工厂函数也能组合更复杂的配置! 比如我们用镜像(Docker),就可以外部映射配置文件目录;达到不同环境使用差异化配置的需求!(运行时加载是允许的!) 其他不多说,往下可以看看我的配置分离思路~~ 实战 安装 @nestjs/config : 基于dotenv 封装的Nest配置中心 joi : 一个很灵活的schema校验工具 @types/hapi__joi : joi的typescript声明原创 2020-11-07 14:02:34 · 3166 阅读 · 1 评论 -
NestJS 7.x 折腾记: (1) 项目初始化及常规提交门禁加入
前言 系列常规操作,没兴趣的可以跳过这篇水文.写过Angular 2+的小伙伴会有一种天然的熟悉感.因为Nest基本就是同一个思想模式搞得~~ 实操 安装 npm i -g @nestjs/cli CLI Help 还是熟悉的问题,极具通用性的CLI,可以快速创建各种模块和中间件~ linqunhe@crper-MBP ~/Code neh Usage: nest <command> [options] Options: -v,原创 2020-11-06 14:31:24 · 1038 阅读 · 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 · 674 阅读 · 0 评论