Безкоштовний конвертер

JavaScript Мініфікатор

Миттєво зменшуйте та стискайте код JavaScript у своєму браузері. Видалити коментарі, згорнути пробіли та зменшити розмір файлу. Безкоштовно та приватно.

Перетягніть файл JS сюди

Підтримує файли .js. Або вставте свій JavaScript вище.

Або

Про цей інструмент

Мініфікація JavaScript зменшує розмір вихідного коду шляхом видалення непотрібних символів і (за допомогою відповідних мініфікаторів) перейменування локальних змінних на коротші імена. Перша категорія — видалення пробілів і коментарів — є простою та безпечною. Другий — перейменування змінних — вимагає розуміння правил області видимості, і це те, що мініфікатори виробництва, такі як Terser і esbuild, роблять найкраще.

Цей інструмент спрямований на безпечну мінімізацію: видалення коментарів, згортання пробілів, видалення зайвих крапок з комою та скорочення очевидних шаблонів. Перейменування змінних є консервативним — торкаються лише локальних змінних у чітких областях, а імена, на які посилаються зовні, залишаються в спокої. Результат функціонально ідентичний вихідному.

Для мінімізації виробничого рівня спеціальні інструменти (Terser, esbuild, swc) розуміють повну модель області видимості ECMAScript і створюють значно менші результати. Цей інструмент призначений для швидкої мінімізації на стороні браузера, коли повне налаштування збірки недоступне.

Навіщо згортати JavaScript

Пакети JavaScript зазвичай є найбільшим окремим ресурсом на сучасній веб-сторінці. Мініфікація зазвичай зменшує розмір на 30–60% порівняно з немініфікованим джерелом. У поєднанні з gzip або Brotli скорочення дещо зменшується, але ця комбінація все одно економить вимірні байти — особливо для користувачів із повільним з’єднанням.

Швидший JavaScript також означає швидший час до взаємодії. Менші сценарії завантажуються швидше, аналізуються швидше та виконуються швидше. Для сайтів, де TTI впливає на показники відмов і рейтинг SEO, мініфікація є одним із найдешевших доступних виграшів.

Як використовувати

Вставте JavaScript, отримайте зменшену версію.

  1. Додайте введення JavaScript: Вставте джерело в область введення або перетягніть файл .js. Мініфікатор підтримує сучасний JavaScript (ES2015+), включаючи функції зі стрілками, шаблонні літерали, класи та модулі.
  2. Виберіть варіанти: За умовчанням видаляють коментарі та згортають пробіли. Перейменування локальних змінних є консервативним; увімкніть більш агресивне перейменування, якщо вам потрібно максимальне стиснення.
  3. Зменшити: Мініфікатор аналізує джерело, видаляє пробіли та коментарі та створює компактний вихід. Синтаксичні помилки в джерелі створюють чіткі повідомлення про помилки.
  4. Використовуйте вихід: Замініть джерело сценарію в робочому стані. Для повної оптимізації підключіться до комплектувальника, який обробляє тремтіння дерев і видалення мертвого коду.

Загальні випадки використання

Технічні деталі

Мініфікатор токенізує JavaScript за допомогою аналізатора, який поважає синтаксис ECMAScript. Коментарі (однорядкові та багаторядкові) видаляються, за винятком ліцензійних коментарів, позначених /*! префікс. Пробіли згортаються, за винятком синтаксично необхідних (між ідентифікаторами, після ключових слів).

Консервативне перейменування змінних скорочує локальні змінні в простих областях. Глобальні, експортовані та імпортовані імена не перейменовуються — це призведе до порушення зовнішніх посилань. Для глибокого перейменування використовуйте Terser або esbuild із належним аналізом з урахуванням модулів.

Крайні випадки: автоматична вставка крапки з комою (ASI) означає, що мініфікатор повинен зберігати нові рядки в деяких контекстах, щоб уникнути зміни поведінки програми. Літерали шаблонів, літерали регулярних виразів і JSX (якщо вхідні дані містять його) точно зберігаються, тому що їх вміст може бути небезпечним для стиснення.

Найкращі практики

Поширені запитання

Чи змінює мініфікація роботу мого коду?
Ні. Зменшення видаляє пробіли та коментарі, що не впливає на виконання. Скорочення змінної (викривлення) перейменовує локальні змінні, але зберігає поведінку. Глобальні змінні та експортовані імена зберігаються без змін.
Чи слід мінімізувати в розробці чи виробництві?
Використовуйте лише скорочений код у виробництві. Під час розробки зберігайте оригінальний читабельний код. Більшість інструментів збірки (Webpack, Vite, esbuild) обробляють мінімізацію автоматично як частину процесу виробництва.
Яка різниця між мініфікацією та обфускацією?
Мінімізація зменшує розмір, зберігаючи код функціонально читабельним у разі форматування. Обфускація навмисно ускладнює розуміння коду (кодування рядків, зведення потоку керування). Цей інструмент спрямований на зменшення розміру, а не на обфускацію.
Наскільки слід очікувати зменшення розміру?
Зазвичай 30-60% перед gzip. Добре прокоментований код із довгими іменами змінних бачить найбільші скорочення. У поєднанні зі стисненням gzip файли JavaScript часто на 80-90% менші за початковий код.
Чи завантажено мій код на сервер?
Ні. Мініфікатор працює у вашому браузері.
Наскільки менше буде мій JavaScript?
Зазвичай зниження на 30–60%. Код зі змінними і довгими ідентифікаторами стискає більше; код із високим вмістом виразів стискає менше.
Чи варто мінімізувати вручну?
Ніколи. Підтримуйте читабельний код JavaScript у вихідному коді. Запустіть мініфікацію як етап збірки або як частину розгортання.
Чи працює це на TypeScript?
Спершу TypeScript потрібно скомпілювати до JavaScript за допомогою tsc або esbuild. Після компіляції отриманий JavaScript можна зменшити.