这些行(不包括许可证)的长度都在 30k 左右。可能是为了避免一些 Javascript 解析器在极长的行中死掉的错误。这可能不会在今天的浏览器上发生,但可能一些较旧或更晦涩的浏览器有这样的限制。
(下面的旧答案,也可能适用,只是在这种情况下不适用)
这可能是因为JSMin是一种流行的 Javascript 压缩器,在某些条件下会在输出中保留换行符。这是因为在 Javascript 中,例如,如果您省略分号,则换行很重要。文档说:
在省略换行方面更为保守,因为换行有时被视为分号。如果换行符位于非 ASCII 字符或 ASCII 字母或数字或以下字符之一之前,则不会省略换行符:
\ $ _ { [ ( + -
如果它跟在非 ASCII 字符或 ASCII 字母或数字或以下字符之一之后:
\ $ _ } ] ) + - " '
其他缩小器可能有类似的规则。
因此,这主要是为了防止意外删除语法上可能需要的换行符。你想要的最后一件事是你的缩小 JS 将不再工作,因为缩小器破坏了它的语义。
关于»我知道三个换行符(不包括许可证)不会减慢很多速度,但仍然不是每一点都有帮助吗?«:当您的服务器使用 gzip 压缩时,差异可能无论如何都没有实际意义。