01-第一个3D场景
官网
官网
邂逅Nest
@nest/cli
准备
对于前端来说,后端主要是提供 http 接口来传输数据,而这种数据传输的方式主要有 5 种:
刚接触 Three.js 透视相机的视椎体确实是个比较难理解的概念。
前面我们用过立方体 BoxGeometry,其实 Three.js 还有很多别的几何体。
遇到的问题
不少同学都是用 console.log 调试的,哪怕工作很多年依然是这样,这样有个致命的缺点:
Nest 实现了 IoC 容器,会从入口模块开始扫描,分析 Module 之间的引用关系,对象之间的依赖关系,自动把 provider 注入到目标对象。
模块导出 provider,另一个模块需要 imports 它才能用这些 provider。
认识MVC架构
Nest 的功能都是大多通过装饰器来使用的,这节我们就把所有的装饰器过一遍。
Nest 支持创建 HTTP 服务、WebSocket 服务,还有基于 TCP 通信的微服务。
Nest 内置了很多装饰器,大多数功能都是通过装饰器来使用的。
Module循环引用
Nest 里也有中间件 Middleware 的概念,它和 Express 的 Middleware 是一个东西么?
Pipe介绍
上节我们学了 pipe 来对参数做验证和转换,但那些都是 get 请求的参数,如果是 post 请求呢?
Nest异常
前面讲了 IOC、AOP、全局模块、动态模块、自定义 provider、生命周期等概念,比较零散,这节我们画图来整体串一串。
应用开发完一版上线之后,还会不断的迭代。
前面我们都是用 console.log 打印的日志,这样有不少弊端:没有日志的不同级别的区分,不能通过开关控制是否打印等。
Node 里怎么打印日志呢?
我们学习了 Nest 如何自定义 logger,也学习了 Winston 的使用。
基本所有网站都有登录功能,登录之后再次请求依然是登录状态。
上节我们知道了保存登录状态的两种方式,session + cookie、jwt,这节我们用 Nest 来实现下吧。
鉴权
RABL鉴权
登录流程
本地配置
class-validator装饰器
请求日志
语言国际化
过一遍 Prisma 的全部命令。
这节我们来学习下 Prisma 的 schema 文件的全部语法。
我们学了 Prisma 的命令、schema 的语法,这节来过一遍 Prisma Client 的 api。
使用
前提
Filter