在转换时,TypeScript装饰器可以转换代码吗?

时间:2017-06-08 21:25:32

标签: typescript transpiler

我已经开始再次评估TypeScript,来自BabelJS。我想创建类装饰器以向我的代码添加某些行为或功能。我有一些运气,但TypeScript似乎与Babel有点不同。它不是将代码添加到转换结果中,而是创建更复杂的装饰器函数,这些函数基本上是在运行时执行的。对我来说,这似乎有点低效。可能在运行时添加不必要的执行,并且在转换大量文件时肯定会膨胀。无论如何,我想知道我是否可以更好地控制这种转变,使事情更简洁。例如:

输入:

@managed
class MyClass {
   constructor() {
   }
}

输出:

var MyClass = (function () {
  function MyClass() {
    this.cid = 'MyClass';
  }
  return MyClass;
}());

请注意,在我想要的输出中,它没有包含__decorate或#34; managed"的代码。装饰。它只是最终的,期望的ES5代码,没有运行时扩展。

0 个答案:

没有答案