Лучшие вопросы
Таймлайн
Чат
Перспективы

Минификация (программирование)

Из Википедии, свободной энциклопедии

Remove ads

Минифика́ция (англ. minification) в языках программирования — процесс удаления ненужных символов из исходного кода без изменения его функциональности, с целью уменьшения его размера. Минификация применяется преимущественно к интерпретируемым языкам (таким как JavaScript, HTML, CSS), особенно в разработке веб-приложений, поскольку она способствует снижению времени загрузки, экономии пропускной способности и ускорению исполнения кода в браузере[1].

Процесс включает удаление:

Минификация часто выполняется в составе сборки проекта, при помощи инструментов типа 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].

Инструменты

Некоторые популярные инструменты минификации:

  • UglifyJS — JavaScript минификатор;
  • Terser — современный форк UglifyJS, с поддержкой ES6+;
  • Google Closure Compiler — минификатор и оптимизатор JavaScript от Google;
  • HTMLMinifier — минификация HTML;
  • CleanCSS — минификация CSS;
  • Gulp и Webpack — сборщики, поддерживающие минификацию в цепочке сборки.

См. также

Примечания

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads