打字稿注释

时间:2016-03-15 07:00:08

标签: typescript annotations marionette decorator

我正在使用TS在MarionetteJS上编写项目,我想使用注释来注册路由。 例如:

@Controller
class SomeController {

  @RouteMapping("some route")
  public SomeMethod() {
     //code
  }
}

创建类实例时是否有机会调用方法注释?

3 个答案:

答案 0 :(得分:4)

不,没有。

查看这篇文章Decorators & metadata reflection in TypeScript。它显示了装饰器如何转换为纯javascript,因此它们被调用。

答案 1 :(得分:0)

我在TypeScript(TypeORM)中使用ORM框架,并且可以使用注释(例如@entity(database:''))设置某些内容。

我可以从.env文件或带有常量的类的批注中接收参数值吗?

我尝试过:

@entity(database: process.env.DATA_BASE_NAME)
class UserEntity {...}

没有成功= / 因为此时我的.env还没有实例化= /

但是效果很好:

@entity(database: 'Users')
class UserEntity {

  dotenv.config();

  @(column: process.env.TABLE_USER_COL_ID_NAME, ...)
  private id: number;
}

解决该问题的提示?

答案 2 :(得分:0)

我正在使用typescript-rest

它允许使用注释配置服务,并在需要时生成Swagger文件