JavaScript форматиране и минимизиране
Подредете минимизиран JavaScript, минимизирайте го с Terser или проверете синтаксиса му с точен ред и колона на грешката. Работи само във вашия браузър.
Как да форматирате или минимизирате JavaScript
- Поставете кода си или щракнете Отвори файл, за да заредите файл
.js,.mjsили.jsx(до 10 МБ). - Изберете Отстъп и, ако предпочитате стила на Allman, отметнете Скобите на отделен ред.
- Щракнете Форматирай, за да направите кода четим.
- За да го смалите, задайте Опции за минимизиране и щракнете Минимизирай. За да потърсите само грешки, щракнете Провери синтаксиса.
- Копирайте или изтеглете резултата. Редът със състоянието показва размера преди и след и спестения процент.
Кодът само се чете и преобразува, но никога не се изпълнява: нищо, което поставите, не се изпълнява на тази страница.
Форматиране с 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 «)»“. Колоната брои символите от 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 регулярни изрази на живо с откроени съвпадения, улавящи групи, замяна и обяснение на всеки елемент на шаблона на разбираем език.