Когда я минимизирую css или js, почему не все в одной строке? - PullRequest
5 голосов
/ 25 июня 2010

Я понимаю, что минимизация пытается уменьшить размер файла, удаляя пробельные символы.Иногда вещи оказываются в одной строке, но чаще всего есть несколько строк.Я заметил, что разрывы строк происходят везде, где есть пробелы.Разве не было бы лучше, чтобы все это было в одной строке?

Ответы [ 3 ]

3 голосов
/ 25 июня 2010

Что касается JavaScript, разрыв строки может означать конец оператора (вместо ;).Таким образом, размещение всего этого в одной строке может вызвать проблемы с правильным функционированием кода.

Я бы предположил, что это зависит от используемого вами минимизатора, но это может быть одной из причин.Я бы подумал, что минимизатор попытается учесть это и поставить точки с запятой, где это возможно, но эта способность может сильно отличаться между ними.

1 голос
/ 19 апреля 2011

Если вы используете yuicompressor-maven-plugin, вы можете столкнуться с этой проблемой.Плагин YUI-компрессора имеет опцию linebreakpos , для которой значение по умолчанию равно нулю.Если вы прочитаете описание того, как эта опция используется исходной библиотекой компрессора YUI на этой странице , вы заметите, что нулевое значение для этого значения означает, что после правила CSS будет запускаться символ новой строки илиточка с запятой в javascript.

К счастью, взгляд на реализацию предлагает легкий обходной путь.Просто укажите любое значение меньше 0, и все будет хорошо.

0 голосов
/ 25 июня 2010

Учитывая отсутствие примера кода и информации о том, как выполняется минификация, я бы предпочел следующее: все, что вы используете для просмотра кода, выполняет перенос слов, и там нет никаких новых реальных строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...