11月13, 2020

搭建node服务(四):Decorator装饰器

Decorator(装饰器)是ECMAScript中一种与class相关的语法,用于给对象在运行期间动态的增加功能。Node.js还不支持Decorator,可以使用Babel进行转换,也可以在TypeScript中使用Decorator。 本示例则是基于TypeScript来介绍如何在node服务中使用Decorator。

一、TypeScript相关

由于使用了 TypeScript ,需要安装TypeScript相关的依赖,并在根目录添加 tsconfig.json 配置文件,这里不再详细说明。要想在 TypeScript 中使用Decorator 装饰器,必须将 tsconfig.json 中 experimentalDecorators设置为true,如下所示:

tsconfig.json

{
  "compilerOptions": {
    …
    // 是否启用实验性的ES装饰器
    "experimentalDecorators": true
  }
}

二、装饰器介绍

1. 简单示例

Decorator实际是一种语法糖,下面是一个简单的用TypeScript编写的装饰器示例:

const Controller: ClassDecorator = (target: any) => {
    target.isController = true;
};

<p>@Controller
class MyClass {</p>
<p>}</p>
<p>console.log(MyClass.isController); // 输出结果:true

点击查看原文>

本文链接:https://blog.jnliok.com/post/IkvKdVQ9HAOPv5yfppmJ.html

-- EOF --

Comments