为什么缩小代码的最大值有“行终止符”?

时间:2013-08-12 17:52:43

标签: javascript

特别适用于Google Closure和Uglify。

Uglify使用32K行

https://github.com/mishoo/UglifyJS

虽然Google使用大约500行。

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

其中一人似乎正在解决鬼问题。

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

2 个答案:

答案 0 :(得分:4)

来自Closure Compiler docs

  

为什么编译脚本中会出现随机换行符?

     

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

答案 1 :(得分:0)

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

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

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

(function() {
    // Minified module file here
})();