当前位置: 首页 > news >正文

临西县建设网站品牌推广的方式有哪些

临西县建设网站,品牌推广的方式有哪些,wordpress fla插件,家装设计图片请求进来 --- 中间件 --- 守卫 --- 拦截器 --- 通道 --- 处理#xff08;controller层#xff09; --- 拦截器 --- 返回 Pipe #xff1a; 就是实现 PipeTransform 接口的 transform 方法#xff0c;它的返回值就是传给 handler 的值。 ---------------------------------… 请求进来 --- 中间件 --- 守卫 --- 拦截器 --- 通道 --- 处理controller层 --- 拦截器 --- 返回 Pipe   就是实现 PipeTransform 接口的 transform 方法它的返回值就是传给 handler 的值。 ------------------------------------------- Nest框架内部是如何做到把TypeScript的类型定义变成功能实现 Nest框架是一个基于Node.js的框架它使用了TypeScript来提供强类型支持并将类型定义与代码编译紧密结合。 TypeScript是一种静态类型检查的编程语言它通过类型注解来在编译阶段检查代码的正确性。在Nest框架中类型定义不仅仅是用来作为类型约束还可以通过装饰器等方式对代码进行元编程从而实现一些功能。 Nest框架使用了装饰器来定义控制器、提供者、中间件等组件这些装饰器使用了TypeScript的类型系统来进行静态类型检查。在编译过程中这些装饰器会被解析并根据类型定义生成对应的代码。这意味着类型定义可以影响最终编译后的代码。 掘金小册   具体实现原理可以看这个章节。  ------------------------- 下面简单对章节进行总结  不知道大家有没有感觉很神奇只是通过装饰器声明了一下然后启动 Nest 应用这时候对象就给创建好了依赖也给注入了。 那它是怎么实现的呢 Nest 的实现原理就是通过装饰器给 class 或者对象添加元数据然后初始化的时候取出这些元数据进行依赖的分析然后创建对应的实例对象就可以了。 所以说nest 实现的核心就是 Reflect metadata 的 api。 关于TypeScript部分为什么跟Nest框架结合可以实现代码的功能改变既元编程。 其实还有一个疑问依赖的扫描可以通过 metadata 数据但是创建的对象需要知道构造器的参数现在并没有添加这部分 metadata 数据呀 这就不得不提到 TypeScript 的优势了TypeScript 支持编译时自动添加一些 metadata 数据 import reflect-metadata;class Guang {Reflect.metadata(名字, 光光)public say(a: number): string {return 加油鸭;} }按理说我们只添加了一个元数据生成的代码也确实是这样的 但是呢ts 有一个编译选项叫做 emitDecoratorMetadata开启它就会自动添加一些元数据。 开启之后再试一下 所以说只要开启了这个编译选项ts 生成的代码会自动添加一些元数据。 然后创建对象的时候就可以通过 design:paramtypes 来拿到构造器参数的类型了那不就知道怎么注入依赖了么 所以nest 源码里你会看到这样的代码 这也是为什么 nest 会用 ts 来写因为它很依赖这个 emitDecoratorMetadata 的编译选项。 你用 cli 生成的代码模版里也都默认开启了这个编译选项 ----- 这就是 nest 的核心实现原理通过装饰器给 class 或者对象添加 metadata并且开启 ts 的 emitDecoratorMetadata 来自动添加类型相关的 metadata然后运行的时候通过这些元数据来实现依赖的扫描对象的创建等等功能。 Nest 的装饰器都是依赖 reflect-metadata 实现的而且还提供了一个 SetMetadata 的装饰器让我们可以给 class、method 添加一些 metadata --- Nest 的装饰器的实现原理就是 Reflect.getMetadata、Reflect.defineMetadata 这些 api。通过在 class、method 上添加 metadata然后扫描到它的时候取出 metadata 来做相应的处理来完成各种功能。 Nest 的 Controller、Module、Service 等等所有的装饰器都是通过 Reflect.meatdata 给类或对象添加元数据的然后初始化的时候取出来做依赖的扫描实例化后放到 IOC 容器里。 实例化对象还需要构造器参数的类型这个开启 ts 的 emitDecoratorMetadata 的编译选项之后 ts 就会自动添加一些元数据也就是 design:type、design:paramtypes、design:returntype 这三个分别代表被装饰的目标的类型、参数的类型、返回值的类型。 当然reflect metadata 的 api 还在草案阶段需要引入 reflect metadata 的包做 polyfill。 Nest 还提供了 SetMetadata 的装饰器可以在 controller 的 class 和 method 上添加 metadata然后在 interceptor 和 guard 里通过 reflector 的 api 取出来。 理解了 metadatanest 的实现原理就很容易搞懂了。
http://www.yutouwan.com/news/260963/

相关文章:

  • 陕西住房和建设厅网站推广普通话的意义论文
  • 台州专业网站设计系统网站推广 html关键词代码解说
  • 网站平台管理wordpress4.7更新说明
  • 宁波市高等级公路建设指挥部网站西安小程序开发哪家好
  • 网站页面报价个人网站备案需要哪些
  • 中国农村建设网站首页昆明手机app开发
  • 做发包业务网站wordpress 验证表单
  • 网站空间虚拟主机阿里云自助建站教程
  • 百度网站推广服务商南京龙媒网络科技有限公司
  • 网站开发用哪个框架品牌名字大全
  • 天津公司网站设计怎么看网站用什么平台做的
  • 公司网页网站建设 ppt武侯区网站建设哪里好点
  • 网站备案的网站名称做网站如何规避法律风险
  • 建设一个蛋糕网站的背景与目的作作网站
  • 关于建立网站的申请重庆快速网站推广
  • 学做网站看什么dw 怎么做钓鱼网站
  • 惠州建设工程交易网站手机网页版抖音入口
  • 高端响应式网站长春哪家做网站做的好
  • 太原百度网站建设一个门户网站多少钱
  • 淘宝做网站推广人电话想在百度做推广怎么做
  • 公司网站制作效果怎么样在上海找工作用哪个招聘网好
  • 陵水专业网站建设怎样查询二级建造师注册情况
  • ps做网站导航条phpcms 关闭网站
  • 中国建设网官方网站企业wordpress开发教程 pdf
  • 代码判断网站泰安网络推广公司平台
  • 湖州长兴建设局网站wordpress打赏按钮
  • 代做网站排名天元建设集团有限公司代码
  • php网站建设管理教材做婚介网站可行性报告
  • 天河营销型网站建设金乡网站建设多少钱
  • 网页制作与网站建设文档it前端是做网站的