我正在尝试在缩小的js中优化出绑定的console.log
语句。我要绑定console.log
,以便默认情况下可以有一个参数。
uglifyjs的pure_funcs
设置似乎无效(请参见下面的输出)
drop_console
更糟糕,因为它设置了this.log = void
并导致未定义的函数错误。
有什么办法可以做到这一点?
输入:
class A {
constructor() {
this.log = console.log.bind(this, 'class A');
}
meth() {
this.log('not optimized out');
console.log('optimized out');
}
}
UglifyJS配置:
drop_console : false,
pure_funcs : ["console.log", "console.log.prototype.bind", "console.log.bind"],
已被压倒(通过https://skalman.github.io/UglifyJS-online/):
class A{constructor(){this.log=console.log.bind(this,"class A")}meth(){this.log("not optimized out")}}: