我目前正在尝试构建一个包含Lottie的汇总应用程序,它允许将动画封装在 JSON 文件中并使用 Javascript 直接呈现。
尝试处理此代码时Terser阻塞的默认配置,因为它包含以下形式的函数(示例):
var wiggle = function wiggle(freq, amp) {
// ... irrelevant stuff
}.bind(this);
于是它会吐出错误,Unexpected token: punc (.)
:
13192 | }
13193 | return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;
> 13194 | }.bind(this);
| ^ Unexpected token: punc (.)
[!] (plugin terser) SyntaxError: Unexpected token: punc (.)
问题...
- 这种对函数的绑定实际上是某种有效的 ECMAScript 吗?我以前从未见过没有括号包装的:例如
(function () { ... }).bind(this)
- 如果是这样,有没有办法让更简洁的代码来处理?