Javascript “什么是”呢;符号定义“;丑陋的?
我试图通过UglifyJS3来丑化javascript函数,特别是@。但我有个错误 TypeError:sym.definition不是函数 我无法解决的问题 为了破译错误信息,我已经将代码剥离并处理到一个仍然产生错误的最小、微不足道的代码Javascript “什么是”呢;符号定义“;丑陋的?,javascript,uglifyjs,Javascript,Uglifyjs,我试图通过UglifyJS3来丑化javascript函数,特别是@。但我有个错误 TypeError:sym.definition不是函数 我无法解决的问题 为了破译错误信息,我已经将代码剥离并处理到一个仍然产生错误的最小、微不足道的代码 function f() { const a = Math.abs(2); const [b,c] = [2, 3]; } 尽管有明显的琐碎之处,但丑八怪(带有默认选项)给了我前面提到的错误。另一方面,以下内容解决了这个问题
function f() {
const a = Math.abs(2);
const [b,c] = [2, 3];
}
尽管有明显的琐碎之处,但丑八怪(带有默认选项)给了我前面提到的错误。另一方面,以下内容解决了这个问题:只需删除f()
中的行中的任何一行,以常量[b,c]…
表达式开头;或者不要使用破坏性赋值
最简单也是唯一可用的修复方法(对于我的代码)就是停止使用破坏,不过,我需要知道为什么会发生这种情况。错误TypeError:sym.definition不是函数的确切含义是什么
我看不出这个简单的代码是如何产生错误的,所以是设置吗?这是uglify es 3.3.9
中的错误吗?或特定于https://skalman.github.io/UglifyJS-online/
任何帮助都将不胜感激
更新:@sparkfauntain为我指明了正确的方向。虽然引用链接中的讨论提到了v3.3.10中的问题,而不是我引用的v3.3.9,但这是因为在线丑八怪错误地引用了v3.3.9作为源代码。事实上,它正在运行v3.3.10。虽然我仍然不知道错误的原因,但我很满意这只是一个BUG,仅限于(截至2019年8月),需要我努力才能离开该站点。谢谢@SparkFoutain。看看GitHub上的讨论:它不支持ES6开箱即用:uglify js只支持JavaScript(ECMAScript 5)。要缩小ECMAScript 2015或更高版本的规模,请使用Babel等工具进行传输。
您应该将更新作为答案发布,然后您可以在GitHub上查看以下讨论:它不支持ES6开箱即用:uglify js仅支持JavaScript(ECMAScript 5)。若要缩小ECMAScript 2015或更高版本,请使用Babel等工具进行传输。
您应该将更新发布为您可以接受的答案