Мініфікатор коду
Видаліть пробіли, коментарі та зайві символи з HTML, CSS і JavaScript.
Навіщо мінімізувати код?
Мінімізація видаляє всі зайві символи з вихідного коду, не змінюючи його функціональності. Це включає пробіли, розриви рядків, коментарі та необов'язкові синтаксичні елементи. Результатом є менший файл, який завантажується швидше, аналізується оперативніше та використовує меншу пропускну здатність. Кожен збережений кілобайт має значення — особливо в мобільних мережах, де пропускна здатність обмежена та коштовна.
Професійні сайти зазвичай мінімізують весь CSS, JavaScript і HTML у виробничих збірках. Такі інструменти, як webpack, esbuild, Vite та Parcel, автоматично виконують мінімізацію в рамках конвеєра збірки. Цей автономний інструмент корисний для швидких разових завдань мінімізації, тестування або коли потрібно мінімізувати фрагмент без налаштування системи збірки.
Що видаляється?
- Коментарі — видаляються як однорядкові (//), так і багаторядкові (/* */) коментарі.
- Пробіли — пробіли, табуляції та переноси рядків видаляються або стискаються до мінімально необхідного.
- Необов'язкові символи — кінцеві крапки з комою, зайві дужки та інший синтаксис, який мови допускають, але не вимагають.
Мінімізація HTML
Мінімізація HTML видаляє коментарі (<!-- -->), стискає пробіли між тегами, а також видаляє зайві переноси рядків та відступи. Вона зберігає вміст у тегах <pre>, <code> та <textarea>, де пробіли є значущими. Добре мінімізований HTML може бути на 10–30% меншим за оригінал.
Мінімізація CSS
Мінімізація CSS видаляє коментарі (/* */), стискає пробіли навколо селекторів і властивостей, видаляє останню крапку з комою в кожному блоці оголошень та скорочує значення кольорів (наприклад, #ffffff стає #fff). Розширені мінімізатори також об'єднують дублікати селекторів і видаляють перевизначені властивості.
Мінімізація JavaScript
Мінімізація JavaScript видаляє коментарі, стискає пробіли та прибирає непотрібні крапки з комою. Розширені мінімізатори (такі як Terser або esbuild) йдуть далі — перейменовують локальні змінні на коротші імена, вбудовують константи та видаляють мертвий код. Цей інструмент виконує базову мінімізацію, підходящу для швидких завдань.
Найкращі практики
Завжди зберігайте немінімізований вихідний код у системі контролю версій. Ніколи не редагуйте мінімізовані файли безпосередньо — вони практично нечитабельні. Використовуйте вихідні карти (source maps) під час розробки для налагодження мінімізованого коду шляхом відображення його на оригінальне джерело. Для виробничих сайтів інтегруйте мінімізацію у свій процес збірки, щоб вона автоматично виконувалась при кожному розгортанні.
Поєднуйте мінімізацію зі стисненням gzip або Brotli на вашому вебсервері для максимальної економії. Мінімізація зменшує розмір джерела, а алгоритми стиснення, такі як Brotli, додатково скорочують розмір передачі на 60–80%. Разом файл JavaScript розміром 100 KB може передаватися лише як 15–20 KB.
Часті запитання
Чи впливає мінімізація на функціональність коду?
Базова мінімізація (видалення пробілів і коментарів) ніколи не змінює функціональності. Розширені методи мінімізації, як-от перейменування змінних та видалення мертвого коду, теоретично можуть спричиняти проблеми, якщо код покладається на імена змінних під час виконання (наприклад, через eval). Цей інструмент виконує лише безпечну базову мінімізацію.
Скільки місця заощаджує мінімізація?
Типова економія становить від 10% для вже лаконічного коду до 60% для коду з великою кількістю коментарів і відступів. CSS зазвичай зменшується на 15–25%. HTML — на 10–20%. JavaScript з багатьма коментарями може зменшитися на 30–50% до розширеної оптимізації.