JavaScript Minifier
Mag-paste ng JavaScript para paliitin ito gamit ang Terser: inaalis ang dead code, pinapaikli ang mga pangalan at nawawala ang whitespace. Itinuturo ng syntax error ang eksaktong linya at column.
Tumatakbo sa browser moWalang sign-upWalang ina-upload
Paano gamitin ang JavaScript Minifier
- I-paste ang iyong JavaScript o magbukas ng
.jsna file. - Pumili ng mga option: pinapaikli ng I-mangle ang mga pangalan ang mga local variable, isinusulat muli ng I-compress ang code sa mas maliit na katumbas, at pinapagana ng ES module ang top-level na
import/export. - Piliin ang ECMAScript target na suportado ng mga browser ng iyong mga user. Ligtas ang ES2020 para sa lahat ng evergreen browser.
- Tingnan ang laki, natipid at gzip estimate sa ilalim ng output.
- Kopyahin ang minified na code o i-download ito bilang
output.min.js.
Ano ang ginagawa ng JavaScript minifier?
Pinapaliit ng minification ang JavaScript nang hindi binabago ang ginagawa nito. Gumagamit ang tool na ito ng Terser, ang minifier sa likod ng webpack, Vite at Rollup, at gumagawa ng tatlong uri ng pagbabago:
- Pag-alis ng whitespace at comment: hindi kailangan ng JavaScript engine ang indentation, newline at comment.
- Mangling: nagiging iisang letra ang mga pangalan ng local variable at function parameter gaya ng
subtotal. Hindi ginagalaw ang mga global name at object property para patuloy na gumana ang iyong public API. - Compression: kinakalkula na ang mga constant expression, inaalis ang unreachable code, nagiging ternary ang mga
ifstatement at ini-inline ang maiikling function.
Minify vs. gzip: kailangan mo ba pareho?
Oo. Kino-compress ng Gzip at Brotli ang mga paulit-ulit na byte pattern habang ipinapadala, samantalang inaalis ng minification ang mga byte na kailangan sanang i-download, i-parse at i-compile ng browser. Karaniwang lumiliit nang 40–60% ang isang script dahil sa minification at saka pa ng 60–70% dahil sa gzip. Magandang tantiya ng aktwal na ipapadala ng iyong server ang gzip size na ipinapakita rito.
Pagpapanatili ng license comment
Maraming open-source license (MIT, BSD, Apache) ang nag-uutos na manatili ang copyright notice kasama ng code. Ayon sa kumbensyon, pinapanatili ang mga comment na nagsisimula sa /*! o may @license o @preserve kapag naka-on ang Panatilihin ang license comment.
Kailan hindi dapat mag-minify nang mano-mano
Kung gumagamit na ng bundler ang project mo, hayaan itong mag-minify ng production build at gumawa ng source map para sa debugging. Mainam ang online minifier para sa mga one-off na script, snippet para sa CMS o tag manager, bookmarklet at pagtingin kung gaano kaliit ang kayang abutin ng isang piraso ng code.
Mga madalas itanong
Ina-upload ba sa server ang code ko?
Puwede bang masira ng minification ang code ko?
Function.prototype.toString() o sa pangalan ng local variable sa pamamagitan ng eval; i-off ang I-mangle ang mga pangalan sa ganoong kaso.