特别是对于 Google Closure 和 Uglify。
Uglify 使用 32K 行
https://github.com/mishoo/UglifyJS
而谷歌使用大约 500 行。
https://developers.google.com/closure/compiler/faq#linefeeds
其中一个似乎正在解决一个幽灵问题。
为什么会有这样的差异?关于最大长度的真正考虑是什么?
特别是对于 Google Closure 和 Uglify。
Uglify 使用 32K 行
https://github.com/mishoo/UglifyJS
而谷歌使用大约 500 行。
https://developers.google.com/closure/compiler/faq#linefeeds
其中一个似乎正在解决一个幽灵问题。
为什么会有这样的差异?关于最大长度的真正考虑是什么?
从闭包编译器文档:
为什么编译的脚本中有随机的换行符?
Closure Compiler 有意每 500 个字符左右添加换行符。防火墙和代理有时会损坏或忽略行很长的大型 JavaScript 文件。每 500 个字符添加换行符可防止此问题。删除换行符对脚本的语义没有影响。对代码大小的影响很小,并且编译器优化了换行符的位置,以便在压缩文件时代码大小损失更小。
有时,当您连接各种文件,然后使用 Google Closure 优化和缩小它们时,会插入看似随机的新行。
最有可能表明@ArrayKnight 所说的不同文件之间的分离。
编辑:您可以在 Google 源代码中清楚地看到,不同的文件被包装在自动执行的匿名函数中,如下所示:
(function() {
// Minified module file here
})();