我正在为javascript写一个自定义的minifier,我想知道我是否需要在一行中有一定数量的字符后强制换行,或者这是否有关系?
例如,我可以将整个脚本缩小到一行,其中包含数千个字符,或者每隔n个字符,我可以插入一个换行符(在js代码中可接受的位置)以将其放到下一行。
这样做是有原因的吗,还是javascript/浏览器不关心一行有多少个字符?
发布于 2012-01-27 05:38:39
您可以将整个脚本放在一行中,这对解析器没有任何影响。
然而,将内容分成大约4kB的行可能会对下载器有利,从而略微提高性能。
发布于 2012-01-27 05:41:20
我不想把我的站点押在各种各样的web服务器、代理服务器、Internet Explorer等等上,所有这些都不会因为很长的行数而阻塞。当然,我不知道如何定义巨型,但jQuery -作为一个例子-看起来限制在每行大约512个字符。这么说吧,我更喜欢你的minifier,如果它允许我选择是否每x个字符换行。
发布于 2012-01-28 14:46:11
关于JavaScript的长代码行,有一些陷阱。下面是闭包编译器的常见问题解答(this link):
为什么在编译后的脚本中会有随机换行符?
闭包编译器有意每隔500个字符左右添加换行符。防火墙和代理有时会损坏或忽略具有很长行的大型JavaScript文件。每500个字符添加换行符可避免此问题。删除换行符对脚本的语义没有影响。对代码大小的影响很小,并且编译器优化了换行符的位置,因此当文件被gzipped压缩时,代码大小的损失甚至更小。
https://stackoverflow.com/questions/9025718
复制相似问题