我有一些开发装饰器,例如@timer
,@checkOptimizations
等。我试图弄清楚如何在生产中删除它们。示例类:
class Foo {
@timer
bar() {
}
}
现在我可以通过用无操作函数替换装饰器来使它们无法轻松运行。但是生成的代码非常繁重(基本类是 1640 字节未压缩与 353 没有装饰器)。
我有一些开发装饰器,例如@timer
,@checkOptimizations
等。我试图弄清楚如何在生产中删除它们。示例类:
class Foo {
@timer
bar() {
}
}
现在我可以通过用无操作函数替换装饰器来使它们无法轻松运行。但是生成的代码非常繁重(基本类是 1640 字节未压缩与 353 没有装饰器)。
我已经构建了一个插件来解决这个问题。它在转译代码之前删除所有装饰器。当我们想要对我们的代码进行单元测试时,我们会使用它,因为我们不希望将装饰器应用于测试中的“单元”(即类)。
这是: https ://github.com/vladpalos/babel-plugin-remove-decorators
如果您只想删除某些装饰器,您可能需要使用这个: https ://github.com/elierotenberg/babel-plugin-strip-decorator