Configuration/Route 映射的装饰器如何工作(TypeScript 和 Loopback4)?
How do Decorators for Configuration/Route Mapping work (TypeScript & Loopback4)?
在 Loopback4 REST Endpoints/Operations 中 "GET /greet" 是 mapped/configured 在处理查询和 returns 结果的方法上方有装饰器:
@get('/greet', spec)
greet(name: string) {return "hello"}
我对 Loopback 和 Typescript 完全陌生。 我的问题是这种配置装饰器通常如何工作(在其他框架中也是如此)?
一些细节问题:
- 是否在构建时处理装饰器并从中生成一些配置代码?或者它们只在运行时处理?
- 如果它们是在运行时处理的,我理解这种情况,如果调用该方法将触发装饰器,这是显而易见的。但是这里的装饰器包含了在它获取或者被触发之前需要在系统中配置的信息,所以系统知道如何调用这个方法。这是如何运作的? TypeScript 中是否有一个函数 returns 所有装饰器的数组?
- ...
非常感谢!
它们在构建时进行评估,需要 tsconfig.json
中的 experimentalDecorators: true
设置才能启用它们。
TypeScript 文档在这里很好地介绍了它们:https://www.typescriptlang.org/docs/handbook/decorators.html
在 Loopback4 REST Endpoints/Operations 中 "GET /greet" 是 mapped/configured 在处理查询和 returns 结果的方法上方有装饰器:
@get('/greet', spec)
greet(name: string) {return "hello"}
我对 Loopback 和 Typescript 完全陌生。 我的问题是这种配置装饰器通常如何工作(在其他框架中也是如此)?
一些细节问题:
- 是否在构建时处理装饰器并从中生成一些配置代码?或者它们只在运行时处理?
- 如果它们是在运行时处理的,我理解这种情况,如果调用该方法将触发装饰器,这是显而易见的。但是这里的装饰器包含了在它获取或者被触发之前需要在系统中配置的信息,所以系统知道如何调用这个方法。这是如何运作的? TypeScript 中是否有一个函数 returns 所有装饰器的数组?
- ...
非常感谢!
它们在构建时进行评估,需要 tsconfig.json
中的 experimentalDecorators: true
设置才能启用它们。
TypeScript 文档在这里很好地介绍了它们:https://www.typescriptlang.org/docs/handbook/decorators.html