Подтвердить что ты не робот

Почему компилятор Google Closure оставляет несколько лишних пробелов или разрывов строк?

Я заметил, что каждый раз, когда я использую Google Closure Compiler Service, он оставляет несколько лишних пробелов в скомпилированном коде, представленном справа -сторонняя сторона страницы. Они соответствуют разрыву строк в размещенной версии скомпилированного кода.

Например (обратите внимание на разрывы строк, каждый из которых кажется лишним):

http://troy.onespot.com/static/stack_overflow/closure_spaces.js

На сегодняшний день я просто удалял их вручную, но мне любопытно, почему они там. Следует ли ограничивать длину строки размещенной версии кода, чтобы сделать ее более читаемой? Может ли компилятор быть достаточно умен, чтобы уйти или вставить их намеренно, чтобы максимизировать усилия сжатия GZIP?

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

4b9b3361

Ответ 1

Цитата Часто задаваемые вопросы компилятора Closure:

Почему в скомпилированных сценариях есть случайные фиды строк?

Компилятор Closure намеренно добавляет разрывы строк каждые 500 символов или около того. Брандмауэры и прокси иногда повреждают или игнорируют большие файлы JavaScript с очень длинными строками. Добавление разрывов строк каждые 500 символов предотвращает эту проблему. Удаление разрывов строк не влияет на семантику script. Влияние на размер кода невелико, и компилятор оптимизирует размещение строк, так что штраф размера кода еще меньше, когда файлы gzipped.

Ты знал, что это умно!:)