1

特别是对于 Google Closure 和 Uglify。

Uglify 使用 32K 行

https://github.com/mishoo/UglifyJS

而谷歌使用大约 500 行。

https://developers.google.com/closure/compiler/faq#linefeeds

其中一个似乎正在解决一个幽灵问题。

为什么会有这样的差异?关于最大长度的真正考虑是什么?

4

2 回答 2

4

闭包编译器文档

为什么编译的脚本中有随机的换行符?

Closure Compiler 有意每 500 个字符左右添加换行符。防火墙和代理有时会损坏或忽略行很长的大型 JavaScript 文件。每 500 个字符添加换行符可防止此问题。删除换行符对脚本的语义没有影响。对代码大小的影响很小,并且编译器优化了换行符的位置,以便在压缩文件时代码大小损失更小。

于 2013-08-12T17:58:57.407 回答
0

有时,当您连接各种文件,然后使用 Google Closure 优化和缩小它们时,会插入看似随机的新行。

最有可能表明@ArrayKnight 所说的不同文件之间的分离。

编辑:您可以在 Google 源代码中清楚地看到,不同的文件被包装在自动执行的匿名函数中,如下所示:

(function() {
    // Minified module file here
})();
于 2013-08-12T17:54:26.747 回答