JavaScript минификатор
Поставете JavaScript, за да го свиете с Terser: мъртвият код се премахва, имената се съкращават, а интервалите изчезват. Синтактичните грешки сочат точния ред и колона.
Работи в браузъраБез регистрацияНищо не се качва
Как да използвате: JavaScript минификатор
- Поставете вашия JavaScript или отворете файл
.js. - Изберете опции: Съкращавай имената скъсява локалните променливи, Компресирай пренаписва кода в по-малък еквивалент, ES модул позволява
import/exportна най-горно ниво. - Изберете ECMAScript целта, която поддържат браузърите на потребителите ви. ES2020 е безопасна за всички evergreen браузъри.
- Проверете размера, спестяването и оценката за gzip под резултата.
- Копирайте минифицирания код или го изтеглете като
output.min.js.
Какво прави JavaScript минификаторът?
Минифицирането прави JavaScript по-малък, без да променя какво прави. Този инструмент използва Terser, минификатора зад webpack, Vite и Rollup, и прилага три вида промени:
- Премахване на интервали и коментари: отстъпите, новите редове и коментарите не са нужни на JavaScript енджина.
- Съкращаване на имена (mangling): имената на локални променливи и параметри на функции като
subtotalстават единични букви. Глобалните имена и свойствата на обекти остават непокътнати, така че публичният ви API продължава да работи. - Компресиране: константните изрази се изчисляват предварително, недостижимият код се премахва,
ifконструкциите стават тернарни оператори, а кратките функции се вграждат.
Минифициране или gzip: нужни ли са и двете?
Да. Gzip и Brotli компресират повтарящи се байтови шаблони при преноса, докато минифицирането премахва байтове, които браузърът иначе би трябвало да изтегли, парсира и компилира. Типичен скрипт намалява с 40–60% от минифицирането и после с още 60–70% от gzip. Показаният тук gzip размер е добра оценка за това, което сървърът ви реално ще изпрати.
Запазване на лицензните коментари
Много лицензи с отворен код (MIT, BSD, Apache) изискват бележката за авторски права да остане с кода. По конвенция коментарите, които започват с /*! или съдържат @license или @preserve, се запазват, когато Запази лицензните коментари е включено.
Кога да не минифицирате ръчно
Ако проектът ви вече използва bundler, оставете го да минифицира продукционните билдове и да генерира source maps за дебъгинг. Онлайн минификаторът е идеален за еднократни скриптове, фрагменти за CMS или tag manager, bookmarklet-и и за проверка колко малък може да стане даден код.
Често задавани въпроси
Качва ли се кодът ми на сървър?
Може ли минифицирането да счупи кода ми?
Function.prototype.toString() или на имена на локални променливи чрез eval, може да бъде засегнат; в такъв случай изключете Съкращавай имената.