我正在尝试优化console.log
缩小 js 中的绑定语句。我具有约束力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")}}: