开发者

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

I understand that minifying tries to reduce file size by removing whitespace charac开发者_运维技巧ters. 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?


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.


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.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜