Форматувальник і мінімізатор JavaScript
Відформатуйте мінімізований JavaScript, мінімізуйте його за допомогою Terser або перевірте синтаксис із точним рядком і стовпцем помилки. Лише у браузері.
Як форматувати або мінімізувати JavaScript
- Вставте свій код або натисніть Відкрити файл, щоб завантажити файл
.js,.mjsчи.jsx(до 10 МБ). - Виберіть Відступ і, якщо вам до вподоби стиль Оллмана, позначте Фігурні дужки з нового рядка.
- Натисніть Форматувати, щоб зробити код читабельним.
- Щоб зменшити його, задайте Параметри мінімізації та натисніть Мінімізувати. Щоб лише пошукати помилки, натисніть Перевірити синтаксис.
- Скопіюйте або завантажте результат. Рядок стану показує розмір до та після й відсоток заощадженого.
Код лише читається й перетворюється, але ніколи не виконується: нічого з того, що ви вставляєте, не запускається на цій сторінці.
Форматування за допомогою js-beautify
Форматувати використовує js-beautify. Він розміщує по одній інструкції в рядку, робить відступи для блоків, додає пробіли навколо операторів і після ключових слів та залишає не більше одного порожнього рядка там, де ви їх мали. Він також розуміє сучасний синтаксис (класи, стрілкові функції, шаблонні літерали, async/await) і JSX. Це найшвидший спосіб прочитати мінімізовану бібліотеку чи однорядковий фрагмент, скопійований із вебсторінки.
Форматування змінює лише пробіли. Воно не перевіряє, чи код коректний: відсутня дужка просто дасть дивні відступи. Для цього є Перевірити синтаксис.
Мінімізація за допомогою Terser
Мінімізувати використовує Terser – мінімізатор, який застосовує більшість інструментів збирання JavaScript. Оскільки він великий, його завантажують лише тоді, коли ви вперше натискаєте Мінімізувати чи Перевірити синтаксис. Параметри безпосередньо відповідають налаштуванням Terser:
- Модуль ES (import/export) розбирає код як модуль (
module: true): діє суворий режим, а імена верхнього рівня є приватними, тож їх можна перейменовувати, а невикористані видаляти. Залиште опцію непозначеною для класичного скрипта, глобальні функції якого використовують інші скрипти. - Стиснути (
compress) переписує код у коротший еквівалент: згортання констант (2*60стає120), видалення мертвого коду, об’єднання оголошеньvar, коротші умови. - Скоротити імена змінних (
mangle) перейменовує локальні змінні й параметри на одну чи дві літери. Глобальні імена та властивості об’єктів ніколи не перейменовуються. - Зберігати коментарі з ліцензією зберігає коментарі, що починаються з
/*!або містять@licenseчи@preserve. Усі інші коментарі видаляються.
Мінімізація не може змінити те, що робить код, але код, який покладається на імена функцій (fn.name) чи на eval, після перейменування може поводитися інакше. У такому разі зніміть позначку з Скоротити імена змінних.
Синтаксичні помилки з рядком і стовпцем
Коли Terser не може розібрати код, Мінімізувати та Перевірити синтаксис показують повідомлення про помилку з рядком і стовпцем, наприклад «Рядок 12, стовпець 8 – Синтаксична помилка: Unexpected token punc «)»». Текст самого повідомлення Terser формує англійською. Стовпець відлічується в символах із 1. Типова причина – пропущена дужка раніше у файлі, тож дивіться й на рядки безпосередньо перед указаною позицією.
Поширені запитання
Чи завантажується мій код кудись?
Ні. І js-beautify, і Terser працюють у вашому браузері, а ваш код лишається на вашому комп’ютері.
Чи можна мінімізувати TypeScript?
Ні. Terser приймає лише JavaScript. Спершу скомпілюйте TypeScript у JavaScript, а потім мінімізуйте результат. Форматування простого TypeScript за допомогою Форматувати часто працює, але анотації типів можуть мати дивні пробіли.
Чому мій мінімізований код виглядає інакше, ніж я писав?
Стиснути обчислює сталі вирази, підставляє значення, що використовуються один раз, і видаляє недосяжний код. Результат працює так само. Зніміть позначку зі Стиснути, щоб лише видалити пробіли й коментарі.
Чи має «Модуль ES» відповідати моєму коду?
Так. Код з import або export слід мінімізувати як модуль. Класичний скрипт, мінімізований як модуль, може втратити глобальні функції, які викликають інші скрипти, бо імена верхнього рівня тоді вважаються приватними.
А як щодо JSON?
JSON є коректним JavaScript, тож обидві кнопки його приймають, але спеціалізований форматувальник JSON дає кращі повідомлення про помилки й сортує ключі.
Схожі інструменти
- Форматувальник і валідатор JSON Безкоштовний форматувальник і валідатор JSON: форматує, мінімізує та перевіряє JSON у браузері й показує помилки синтаксису з рядком і стовпцем.
- Форматувальник і мінімізатор CSS Приведіть неохайний CSS до читабельного вигляду або мінімізуйте його за допомогою csso та побачте розмір до й після. Працює у браузері, без завантаження.
- Форматувальник HTML Приведіть неохайний HTML до чистих відступів або безпечно мінімізуйте його у браузері. Вбудовані CSS і JavaScript теж форматуються. Без завантаження на сервер.
- Тестер регулярних виразів Перевіряйте регулярні вирази JavaScript наживо: підсвічені збіги, групи захоплення, заміна та просте пояснення кожного токена шаблону.