Kigeuzi cha Bure

JavaScript Kipenyo kidogo

Minify na kubana JavaScript code papo hapo katika browser yako. Ondoa maoni, ukunje nafasi nyeupe na upunguze ukubwa wa faili. Bure na ya faragha.

Buruta na Achia faili ya JS hapa

Inaauni faili za .js. Au bandika JavaScript yako hapo juu.

Au

Kuhusu zana hii

Upunguzaji wa JavaScript hupunguza saizi ya msimbo wa chanzo kwa kuondoa herufi zisizohitajika na (kwa vidhibiti sahihi) kubadili jina la vigeu vya ndani hadi majina mafupi. Aina ya kwanza - nafasi nyeupe na kuondolewa kwa maoni - ni moja kwa moja na haina hatari. Jambo la pili - kubadilisha jina upya - kunahitaji kuelewa sheria za upeo na ndicho ambacho wahudumu wa uzalishaji kama Terser na esbuild hufanya vyema zaidi.

Zana hii inaangazia uboreshaji salama: kuondoa maoni, kukunja nafasi nyeupe, kuondoa nusukoloni zisizohitajika, na kufupisha ruwaza dhahiri. Ubadilishaji jina upya ni wa kihafidhina - vigeu vya ndani pekee katika wigo wazi ndivyo vinavyoguswa, na majina yanayorejelewa nje huachwa pekee. Matokeo yake yanafanana kiutendaji na chanzo.

Kwa uboreshaji wa kiwango cha uzalishaji, zana maalum (Terser, esbuild, swc) huelewa muundo kamili wa upeo wa ECMAScript na kutoa matokeo madogo zaidi. Zana hii ni ya uboreshaji wa haraka wa upande wa kivinjari wakati usanidi kamili wa muundo haupatikani.

Kwa nini Kupunguza JavaScript

Vifurushi vya JavaScript kwa kawaida ndio nyenzo kubwa zaidi kwenye ukurasa wa kisasa wa wavuti. Upunguzaji mara kwa mara hutoa upunguzaji wa ukubwa wa 30-60% dhidi ya chanzo kisichopunguzwa. Ikijumuishwa na gzip au Brotli, upunguzaji hupungua kwa kiasi fulani, lakini mchanganyiko bado huhifadhi baiti zinazoweza kupimika - haswa kwa watumiaji kwenye miunganisho ya polepole.

JavaScript ya haraka pia inamaanisha Wakati wa Kuingiliana haraka. Hati ndogo hupakuliwa haraka, changanua haraka na utekeleze mapema. Kwa tovuti ambazo TTI huathiri viwango vya kushuka na viwango vya SEO, uboreshaji ni mojawapo ya ushindi wa bei nafuu unaopatikana.

Jinsi ya kutumia

Bandika JavaScript, pata toleo dogo.

  1. Ongeza ingizo la JavaScript: Bandika chanzo kwenye eneo la ingizo au udondoshe faili ya .js. Kipenyo kidogo kinakubali JavaScript ya kisasa (ES2015+) ikijumuisha vitendakazi vya vishale, maandishi halisi ya violezo, madarasa na moduli.
  2. Chagua chaguzi: Chaguomsingi huondoa maoni na kukunja nafasi nyeupe. Ubadilishaji jina wa kienyeji ni wa kihafidhina; wezesha kubadilisha jina kwa ukali zaidi ikiwa unahitaji ukandamizaji wa juu zaidi.
  3. Minify: Kipenyo kidogo huchanganua chanzo, huondoa nafasi nyeupe na maoni, na kutoa pato fupi. Makosa ya sintaksia katika chanzo hutoa ujumbe wa makosa wazi.
  4. Tumia pato: Badilisha chanzo chako cha hati katika uzalishaji. Kwa uboreshaji kamili, oanisha na kifurushi kinachoshughulikia mtikisiko wa miti na uondoaji wa misimbo iliyokufa.

Kesi za Matumizi ya Kawaida

Maelezo ya Kiufundi

Kisafishaji kinasawazisha JavaScript kwa kutumia kichanganuzi kinachoheshimu sintaksia ya ECMAScript. Maoni (laini moja na safu nyingi) huondolewa isipokuwa kwa maoni ya leseni yaliyowekwa alama /*! kiambishi awali. Whitespace inakunjwa isipokuwa pale inapohitajika kisintaksia (kati ya vitambulishi, baada ya manenomsingi).

Ubadilishaji jina wa kihafidhina hufupisha vigeu vya ndani katika mawanda moja kwa moja. Global, mauzo ya nje na majina yaliyoagizwa kutoka nje hayabadilishwi jina - hiyo inaweza kuvunja marejeleo ya nje. Kwa kubadilisha jina kwa kina, tumia Terser au esbuild na uchanganuzi sahihi wa moduli.

Kesi za ukingo: uwekaji wa nusu koloni otomatiki (ASI) inamaanisha kiboreshaji lazima kihifadhi laini mpya katika baadhi ya miktadha ili kuepuka kubadilisha tabia ya programu. Kiolezo halisi, maandishi ya regex, na JSX (ikiwa ingizo linajumuisha) huhifadhiwa haswa kwa sababu yaliyomo yake yanaweza kuwa si salama kubana.

Mazoea Bora

Maswali yanayoulizwa mara kwa mara

Je, uboreshaji hubadilisha jinsi nambari yangu inavyofanya kazi?
Hapana. Kupunguza huondoa nafasi nyeupe na maoni, ambayo hayaathiri utekelezaji. Ufupisho unaobadilika (kuchanganya) hubadilisha jina la vigeu vya ndani lakini huhifadhi tabia. Vigeu vya kimataifa na majina yanayosafirishwa huwekwa sawa.
Je, nipunguze katika maendeleo au uzalishaji?
Tumia msimbo mdogo pekee katika toleo la umma. Wakati wa uundaji, weka msimbo asili unaoweza kusomeka. Zana nyingi za ujenzi (Webpack, Vite, esbuild) hushughulikia uboreshaji kiotomatiki kama sehemu ya mchakato wa ujenzi wa uzalishaji.
Kuna tofauti gani kati ya minification na obfuscation?
Upunguzaji hupunguza ukubwa huku ukiweka msimbo unaoweza kusomeka kiutendaji ikiwa umeumbizwa. Ufafanuzi kimakusudi hufanya msimbo kuwa mgumu kueleweka (usimbaji wa kamba, udhibiti utambazaji wa mtiririko). Chombo hiki kinazingatia upunguzaji wa saizi, sio kufifia.
Je! ninapaswa kutarajia kupunguzwa kwa saizi ngapi?
Kwa kawaida 30-60% kabla ya gzip. Nambari iliyopendekezwa vizuri na majina marefu ya kutofautisha huona punguzo kubwa zaidi. Ikiunganishwa na mgandamizo wa gzip, faili za JavaScript mara nyingi ni ndogo kwa 80-90% kuliko chanzo asili.
Je, msimbo wangu umepakiwa kwenye seva?
Hapana. Kipunguzaji kinafanya kazi katika kivinjari chako.
JavaScript yangu itakuwa ndogo kiasi gani?
Kawaida hupunguzwa kwa 30-60%. Msimbo mzito unaobadilika na vitambulishi virefu hubana zaidi; msimbo mzito wa kujieleza unabana kidogo.
Je, nipunguze kwa mkono?
Kamwe. Dumisha JavaScript inayoweza kusomeka katika chanzo. Endesha uboreshaji kama hatua ya ujenzi au kama sehemu ya upelekaji.
Inafanya kazi kwenye TypeScript?
TypeScript inahitaji kukusanywa kwa JavaScript kwanza kwa kutumia tsc au esbuild. Mara baada ya kukusanywa, JavaScript inayotokana inaweza kupunguzwa.