Я написал инструмент для этого. Он может минимизировать JavaScript, CSS и HTML.
http://prettydiff.com/?m=minify&html
Важно помнить о некоторых различиях.
Minify - уменьшает размер файла документа, не изменяя синтаксис или соглашения об именах в коде. Обычно этот процесс включает в себя только удаление комментариев и сокращение пробелов.
Запутывание - Слово буквально означает сделать более запутанным. Этот процесс включает минимизацию, уменьшение имен переменных и меток до значений с наименьшей доступной длиной символов, удаление мертвого кода и другие изменения.
Минификация не является вредной, если ваша документация и комментарии поддерживаются. Это связано с тем, что сокращенный код всегда можно восстановить с помощью алгоритмического украшения. Запутывание вредно, потому что автоматизированный процесс не может восстановить запутанный код. Он может быть значительно меньше, чем просто минимизированный код, но такие необычные пробелы не распространены.
Распространенным ложным заблуждением является то, что запутывание может использоваться как слой безопасности, потому что код труднее читать. Запутанный код требует определенных усилий для исследования, но это в первую очередь из-за отсутствия документации и без каких-либо других причин, так как код может быть передан через алгоритмическое украшение. Поскольку JavaScript всегда интерпретируется как простой текст, безопасность базы кода не связана.
Другое ложное заблуждение заключается в том, что HTML нельзя минимизировать. Если код является допустимым HTML, то его можно минимизировать без какого-либо ущерба для рекурсивной операции улучшения. Единственное исключение из этого правила состоит в том, что некоторые свойства таблицы стилей захватывают и распечатывают все символы пробела, такие как white-space:pre
, но это не презентация по умолчанию для любого пользовательского агента и обычно не используется. Более подробно я объясню, что означает приемлемый уровень минимизации HTML, в документации Pretty Diff.