3

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

class Foo {
  @timer
  bar() {
  }
}

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

4

1 回答 1

0

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

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

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

于 2015-09-25T12:49:10.027 回答