When I minify css or js, why isn't it all on one line?

混江龙づ霸主 提交于 2019-12-07 06:45:53

问题


I understand that minifying tries to reduce file size by removing whitespace characters. Sometimes things end up on one line, but more often than not, there are multiple lines. I noticed that line breaks happen wherever spaces occur. Wouldn't it be better just to have it all on one line?


回答1:


Given the lack of sample code and information about how the minification is being performed, my best guess would be: Whatever you are using to view the code is performing word wrapping and there aren't any real new lines in there.




回答2:


Well with JavaScript, a line break can imply the end of a statement (in place of the ;). So putting it all on one line could cause issues with the code functioning correctly.

I would guess that it depends on the minimizer you are using, but that could be one reason. I would think the minimizer would try and account for this and put in semicolons where it can, but this ability could vary wildly between them.




回答3:


If you are using yuicompressor-maven-plugin, you may face this issue. The YUI compressor plugin has an option linebreakpos for which the default value is zero. If you read the description about how this option is used by the original YUI compressor library at this page, you'll notice that a value of zero for this value means that a newline will be emitted after CSS rule or a semi-colon in javascript.

Fortunately, having a look at the implementation suggests an easy work-around. Just specify any value less than 0 and you should be good to go.



来源:https://stackoverflow.com/questions/3118776/when-i-minify-css-or-js-why-isnt-it-all-on-one-line

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!