🍋
Menu
Web

Minification

Минификация (уменьшение размера кода)

Процесс удаления всех ненужных символов из исходного кода (пробелы, комментарии, длинные имена переменных) без изменения его функциональности, уменьшающий размер файла для более быстрой передачи по сети.

Техническая деталь

Минификаторы JavaScript (Terser, esbuild, SWC) выполняют токенизацию, анализ AST, удаление мёртвого кода (tree shaking), сокращение имён переменных (переименование в односимвольные), свёртку констант и объединение инструкций. Минификаторы CSS (cssnano, Lightning CSS) объединяют дублирующиеся правила, сокращают цветовые значения (#ffffff в #fff) и удаляют избыточные свойства. HTML-минификаторы сворачивают пробелы и удаляют необязательные закрывающие теги. Карты исходного кода (.map файлы) обеспечивают отладку, сопоставляя позиции минифицированного кода с исходными.

Пример

```javascript
// Simple CSS minifier
function minifyCSS(css) {
  return css
    .replace(/\/\*[\s\S]*?\*\//g, '')  // remove comments
    .replace(/\s+/g, ' ')                // collapse whitespace
    .replace(/\s*([{};:,])\s*/g, '$1')   // remove around symbols
    .trim();
}
// 1024 bytes → 612 bytes (40% reduction)
```

Связанные инструменты

Связанные термины