Лучшие вопросы
Таймлайн
Чат
Перспективы
Минификация (программирование)
Из Википедии, свободной энциклопедии
Remove ads
Минифика́ция (англ. minification) в языках программирования — процесс удаления ненужных символов из исходного кода без изменения его функциональности, с целью уменьшения его размера. Минификация применяется преимущественно к интерпретируемым языкам (таким как JavaScript, HTML, CSS), особенно в разработке веб-приложений, поскольку она способствует снижению времени загрузки, экономии пропускной способности и ускорению исполнения кода в браузере[1].
![]() | В другом языковом разделе есть более полная статья Minification (programming) (англ.). |
Процесс включает удаление:
- комментариев;
- пробелов и отступов;
- переводов строк;
- необязательных синтаксических элементов;
- переименование переменных и функций с длинными именами на более короткие (при условии сохранения логики программы).
Минификация часто выполняется в составе сборки проекта, при помощи инструментов типа Gulp, Webpack, Rollup или специализированных минификаторов, таких как UglifyJS, Terser, Google Closure Compiler и др.
Remove ads
Применение
Минификация улучшает производительность за счёт уменьшения объёма передаваемых по сети файлов. Также используется в рамках SEO и оптимизации скорости загрузки сайта, поскольку Google учитывает скорость загрузки при ранжировании.
На практике минифицированные файлы часто дополняются source map-файлами, которые позволяют отлаживать минифицированный код, отображая его в виде оригинального исходника в инструментах разработчика браузера.
Remove ads
Пример
До минификации:
// JavaScript
var array = [];
for (var i = 0; i < 20; i++) {
array[i] = i;
}
После минификации:
for(var a=[i=0];i<20;a[i]=i++);
Отличие от обфускации
Минификация отличается от обфускации тем, что её цель — исключительно сокращение размера, а не защита кода от анализа. Хотя некоторые минификаторы делают код трудночитаемым, это побочный эффект, а не основная задача[2].
Инструменты
Некоторые популярные инструменты минификации:
См. также
- Сжатие данных
- Обфускация
- Оптимизация производительности веб-сайта
- Модульный бандлер
Примечания
Ссылки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads