Libreng Converter

JavaScript Minifier

Paliitin at i-compress kaagad ang JavaScript code sa iyong browser. Alisin ang mga komento, i-collapse ang whitespace, at bawasan ang laki ng file. Libre at pribado.

I-drag at I-drop ang isang JS file dito

Sinusuportahan ang mga .js na file. O i-paste ang iyong JavaScript sa itaas.

O kaya

Tungkol sa tool na ito

Binabawasan ng JavaScript minification ang laki ng source code sa pamamagitan ng pag-alis ng mga hindi kinakailangang character at (na may wastong mga minifier) pagpapalit ng pangalan ng mga lokal na variable sa mas maiikling pangalan. Ang unang kategorya — whitespace at pag-aalis ng komento — ay diretso at walang panganib. Ang pangalawa — variable renaming — ay nangangailangan ng pag-unawa sa mga panuntunan sa saklaw at ito ang pinakamahusay na ginagawa ng mga production minifier tulad ng Terser at esbuild.

Nakatuon ang tool na ito sa ligtas na pagpapaliit: pagtanggal ng mga komento, pag-collapse ng whitespace, pag-alis ng mga redundant na semicolon, at pagpapaikli ng mga halatang pattern. Ang pagpapalit ng pangalan ng variable ay konserbatibo — ang mga lokal na variable lamang sa malinaw na saklaw ang hinawakan, at ang mga pangalang externally-reference ang naiiwan. Ang resulta ay gumaganang magkapareho sa pinagmulan.

Para sa production-grade minification, nauunawaan ng mga nakalaang tool (Terser, esbuild, swc) ang buong modelo ng saklaw ng ECMAScript at gumawa ng mas maliit na output. Ang tool na ito ay para sa mabilis na browser-side minification kapag hindi available ang isang buong build setup.

Bakit Bawasan ang JavaScript

Ang mga bundle ng JavaScript ay karaniwang ang pinakamalaking solong mapagkukunan sa isang modernong webpage. Ang pagpapaliit ay karaniwang gumagawa ng 30–60% na pagbabawas ng laki kumpara sa hindi pinaliit na pinagmulan. Kasama ng gzip o Brotli, medyo lumiliit ang pagbabawas, ngunit ang kumbinasyon ay nakakatipid pa rin ng mga masusukat na byte — partikular na para sa mga user sa mabagal na koneksyon.

Ang mas mabilis na JavaScript ay nangangahulugan din ng mas mabilis na Oras sa Interactive. Ang mga mas maliliit na script ay nagda-download nang mas mabilis, nag-parse nang mas mabilis, at nag-execute nang mas maaga. Para sa mga site kung saan nakakaapekto ang TTI sa mga bounce rate at SEO ranking, ang minification ay isa sa mga pinakamurang panalo na available.

Paano gamitin

I-paste ang JavaScript, kumuha ng mas maliit na bersyon.

  1. Magdagdag ng input ng JavaScript: I-paste ang source sa input area o mag-drop ng .js file. Tumatanggap ang minifier ng modernong JavaScript (ES2015+) kabilang ang mga arrow function, template literal, klase, at module.
  2. Pumili ng mga opsyon: Inalis ng mga default ang mga komento at i-collapse ang whitespace. Ang lokal na variable na pagpapalit ng pangalan ay konserbatibo; paganahin ang mas agresibong pagpapalit ng pangalan kung kailangan mo ng maximum na compression.
  3. Minify: Pina-parse ng minifier ang source, inaalis ang whitespace at mga komento, at naglalabas ng compact na output. Ang mga error sa syntax sa pinagmulan ay gumagawa ng malinaw na mga mensahe ng error.
  4. Gamitin ang output: Palitan ang iyong script source sa produksyon. Para sa ganap na pag-optimize, ipares ang isang bundler na humahawak sa tree-shaking at dead code elimination.

Mga Karaniwang Paggamit

Mga Detalye ng Teknikal

Kino-token ng minifier ang JavaScript gamit ang isang parser na gumagalang sa ECMAScript syntax. Ang mga komento (single-line at multi-line) ay inalis maliban sa mga komento sa lisensya na may markang /*! unlapi. Na-collapse ang whitespace maliban kung kinakailangan ayon sa syntactically (sa pagitan ng mga identifier, pagkatapos ng mga keyword).

Ang konserbatibong pagbabago ng pangalan ng variable ay nagpapaikli sa mga lokal na variable sa mga direktang saklaw. Ang mga pandaigdigan, pag-export, at na-import na mga pangalan ay hindi pinalitan ng pangalan — na makakasira sa mga panlabas na sanggunian. Para sa malalim na pagpapalit ng pangalan, gamitin ang Terser o esbuild na may wastong pagsusuri sa module-aware.

Mga Edge case: ang awtomatikong pagpasok ng semicolon (ASI) ay nangangahulugan na ang minifier ay dapat magpanatili ng mga bagong linya sa ilang konteksto upang maiwasan ang pagbabago ng gawi ng programa. Ang mga literal ng template, mga literal ng regex, at JSX (kung kasama ito sa input) ay eksaktong pinapanatili dahil maaaring hindi ligtas na i-compress ang mga nilalaman ng mga ito.

Pinakamahusay na Kasanayan

Mga madalas itanong

Binabago ba ng minification kung paano gumagana ang aking code?
Hindi. Tinatanggal ng Minification ang whitespace at mga komento, na hindi nakakaapekto sa pagpapatupad. Pinapalitan ng variable shortening (mangling) ang mga lokal na variable ngunit pinapanatili ang pag-uugali. Ang mga pandaigdigang variable at na-export na pangalan ay pinananatiling buo.
Dapat ko bang maliitin ang pag-unlad o produksyon?
Gumamit lamang ng minified code sa produksyon. Sa panahon ng pag-unlad, panatilihin ang orihinal na nababasang code. Karamihan sa mga tool sa build (Webpack, Vite, esbuild) ay awtomatikong pinangangasiwaan ang minification bilang bahagi ng proseso ng paggawa ng produksyon.
Ano ang pagkakaiba sa pagitan ng minification at obfuscation?
Binabawasan ng minification ang laki habang pinapanatiling nababasa ang code kung naka-format. Sinasadya ng obfuscation na mahirap maunawaan ang code (string encoding, control flow flattening). Nakatuon ang tool na ito sa pagbabawas ng laki, hindi sa pag-obfuscation.
Gaano karaming pagbawas ng laki ang dapat kong asahan?
Karaniwang 30-60% bago ang gzip. Ang mahusay na komentong code na may mahabang variable na pangalan ay nakikita ang pinakamalaking pagbawas. Kasama ng gzip compression, ang mga JavaScript file ay kadalasang 80-90% na mas maliit kaysa sa orihinal na pinagmulan.
Na-upload ba ang aking code sa isang server?
Hindi. Gumagana ang minifier sa iyong browser.
Gaano magiging maliit ang aking JavaScript?
Karaniwang 30–60% na bawas. Ang variable-heavy code na may mahabang identifier ay nag-compress nang higit pa; mas kaunti ang pag-compress ng expression-heavy code.
Dapat ko bang maliitin sa pamamagitan ng kamay?
Hindi kailanman. Panatilihin ang nababasang JavaScript sa pinagmulan. Patakbuhin ang minification bilang build step o bilang bahagi ng deployment.
Gumagana ba ito sa TypeScript?
Kailangang i-compile muna ang TypeScript sa JavaScript gamit ang tsc o esbuild. Kapag naipon na, ang magreresultang JavaScript ay maaaring maliitin.