有关如何删除ES7装饰器的任何想法?

时间:2015-08-30 08:03:51

标签: javascript decorator ecmascript-7

我有一些开发装饰器,如@timer@checkOptimizations等。我正在试图弄清楚如何在生产中删除它们。示例类:

class Foo {
  @timer
  bar() {
  }
}

现在我可以通过用无操作函数替换装饰器来轻松地使它们不是 function 。但是生成的代码非常繁重(基本类是1640字节未压缩而353没有装饰器)。

1 个答案:

答案 0 :(得分:0)

我已经构建了一个插件来解决这个问题。它在转换代码之前删除所有装饰器。我们在想要对我们的代码进行单元测试时使用它,因为我们不希望装饰器应用于"单元"在测试中(即上课)。

这是: https://github.com/vladpalos/babel-plugin-remove-decorators

如果你只想删除某些装饰器,你可能想要使用这个: https://github.com/elierotenberg/babel-plugin-strip-decorator