Closure 编译器:由于输出文件中有许多 $jscomp 语句,大小增加

Closure Compiler: size increases because of many $jscomp statements in output file

到目前为止,closure compiler(java 版本)已经很好地减少了我的 js 文件。但最近我一直在尝试编译一个小的 service worker js 文件,发现编译后大小实际上 增加

我在 "minimised" 代码中发现了很多这样的语句:

$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol

我只是在编译中使用默认值:

$ java -jar compiler.jar service-worker.js > minified.js

code from here(在 "Service Worker's JavaScript" 部分)上尝试,文件大小从 2.6 KB 变为 7.6 KB!!

但是当我 运行 通过 online closure compiler app 相同的代码时,我得到一个 小得多 的文件,没有上述所有类型的声明。

如何从本地 java 版本的闭包编译器生成相同类型的输出,而没有所有的膨胀?

您看到的代码是 ES6 运行时 polyfill。如果你不需要它们,你可以通过设置 --rewrite_polyfills=false 标志来禁用它们的注入。