Utilia

JavaScript-sniðari og smækkari

Fegraðu smækkað JavaScript, smækkaðu það með Terser eða athugaðu setningafræðina með nákvæmri línu og dálki hverrar villu. Keyrir aðeins í vafranum þínum.

Smækkunarvalkostir

Hvernig á að forsníða eða smækka JavaScript

  1. Límdu kóðann þinn eða smelltu á Opna skrá til að hlaða inn .js-, .mjs- eða .jsx-skrá (allt að 10 MB).
  2. Veldu Inndráttur og, ef þú kýst Allman-stílinn, hakaðu við Slaufusvigar á eigin línu.
  3. Smelltu á Forsníða (fegra) til að gera kóðann læsilegan.
  4. Til að minnka hann stillirðu Smækkunarvalkostir og smellir á Smækka. Til að leita aðeins að villum smellirðu á Athuga setningafræði.
  5. Afritaðu niðurstöðuna eða sæktu hana. Stöðulínan sýnir stærðina fyrir og eftir og hlutfallið sem sparaðist.

Kóðinn er aðeins lesinn og umbreyttur, aldrei keyrður: ekkert sem þú límir er keyrt á þessari síðu.

Fegrun með js-beautify

Forsníða (fegra) notar js-beautify. Það setur eina setningu í hverja línu, dregur inn blokkir, bætir bilum við virkja og lykilorð og heldur allt að einni auðri línu þar sem þú hafðir slíka. Það skilur líka nútímasetningafræði (klasa, örvaföll, sniðmátsstrengi, async/await) og JSX. Þetta er fljótlegasta leiðin til að lesa smækkað safn eða eina línu sem var afrituð af vefsíðu.

Fegrun breytir aðeins bilum. Hún athugar ekki hvort kóðinn sé gildur: sviga sem vantar gefur einfaldlega undarlegan inndrátt. Notaðu Athuga setningafræði til þess.

Smækkun með Terser

Smækka notar Terser, smækkarann sem flest JavaScript-byggingartól nota. Þar sem hann er stór er honum aðeins hlaðið niður þegar þú smellir fyrst á Smækka eða Athuga setningafræði. Valkostirnir samsvara beint Terser-stillingum:

  • ES-eining (import/export) þáttar kóðann sem einingu (module: true): strangur hamur gildir og nöfn á efsta stigi eru einkamál, svo hægt er að endurnefna þau og fjarlægja ónotuð. Láttu það ónotað fyrir hefðbundna skriftu þar sem altæk föll eru notuð af öðrum skriftum.
  • Þjappa (compress) endurskrifar kóðann í styttri jafngildan kóða: útreikning fasta (2*60 verður 120), fjarlægingu dauðs kóða, sameiningu var-yfirlýsinga og styttri skilyrði.
  • Stytta breytuheiti (mangle) endurnefnir staðbundnar breytur og færibreytur í einn eða tvo stafi. Altæk nöfn og hlutaeigindi eru aldrei endurnefnd.
  • Halda leyfisathugasemdum heldur athugasemdum sem byrja á /*! eða innihalda @license eða @preserve. Allar aðrar athugasemdir eru fjarlægðar.

Smækkun getur ekki breytt því sem kóðinn gerir, en kóði sem reiðir sig á heiti falla (fn.name) eða á eval getur hegðað sér öðruvísi eftir endurnefningu. Taktu hakið úr Stytta breytuheiti í því tilviki.

Setningafræðivillur með línu og dálki

Þegar Terser getur ekki þáttað kóðann sýna Smækka og Athuga setningafræði villuskilaboðin með línu og dálki, til dæmis „Lína 12, dálkur 8 – Setningafræðivilla: Unexpected token punc «)»“. Dálkurinn telur stafi frá 1. Algeng orsök er svigi sem vantar fyrr í skránni, svo skoðaðu líka línurnar rétt fyrir tilgreindu stöðuna. Villuskilaboðin sjálf koma frá Terser og eru á ensku.

Algengar spurningar

Er kóðanum mínum hlaðið upp einhvers staðar?

Nei. js-beautify og Terser keyra bæði í vafranum þínum og kóðinn helst í tölvunni þinni.

Get ég smækkað TypeScript?

Nei. Terser tekur aðeins við JavaScript. Þýddu TypeScript fyrst í JavaScript og smækkaðu síðan úttakið. Að forsníða einfalt TypeScript með Forsníða (fegra) virkar oft, en týpumerkingar geta fengið undarleg bil.

Af hverju lítur smækkaði kóðinn minn öðruvísi út en ég skrifaði?

Þjappa metur fastasegðir, fellir inn gildi sem eru notuð einu sinni og fjarlægir kóða sem næst ekki til. Niðurstaðan hegðar sér eins. Taktu hakið úr Þjappa til að fjarlægja aðeins bil og athugasemdir.

Þarf „ES-eining“ að passa við kóðann minn?

Já. Kóða með import eða export ætti að smækka sem einingu. Hefðbundin skripta smækkuð sem eining gæti misst altæk föll sem aðrar skriftur kalla í, því nöfn á efsta stigi eru þá meðhöndluð sem einkamál.

Hvað með JSON?

JSON er gilt JavaScript, svo báðir hnapparnir taka við því, en sérstaki JSON-sniðarinn gefur betri villuskilaboð og raðar lyklum.