Pitanje:
Koji su dobri alati za poništavanje učinaka Minifya na JavaScript?
WPrecht
2013-03-20 19:15:38 UTC
view on stackexchange narkive permalink

Postoje li skripte i / ili mrežni alati koji mogu preokrenuti učinke umanjenja?

Želim posebno deminificirati minificiranu JavaScript datoteku. Preimenovanje varijabli nije veliko pitanje, želim da bude dovoljno čitljivo da bih mogao analizirati izvršenje.

Neposredno prije nego što itko krene prema svemu, [u redu je pitati i odgovoriti na svoje pitanje] (http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions /). Zapravo je super i pomaže web mjestu! Dobro pitanje, WPrecht :-)
Hvala. Pretpostavio sam da ćemo raditi ovakve stvari u zatvorenoj beta verziji kako bismo pomogli zasaditi web mjesto.
@Keelan: se nažalost neki ljudi ne slažu. [Točka u slučaju] (https://reverseengineering.stackexchange.com/questions/137)
@0xC0000022L Er ... to je izbrisano. Je li to vaš slučaj?
@SamB nije činjenica da je izbrisan. Ne. Izbrisano je u posljednjih šest godina (zapravo izbrisano je otprilike mjesec dana nakon što je zatvoreno, što je bilo otprilike u vrijeme mog komentara). Ipak, s dovoljno reputacije i dalje biste je mogli vidjeti.
četiri odgovori:
#1
+21
Archenoth
2013-03-21 11:49:12 UTC
view on stackexchange narkive permalink

Posebno želim umanjiti minificiranu JavaScript datoteku. Preimenovanje varijabli nije velik problem, želim da je dovoljno čitljivo da bih mogao analizirati izvršenje.

Naslov vašeg pitanja ukazuje na to da samo obrće minificirani kôd i da ga ne mora nužno razumjeti. Ali ako pokušavate nešto bolje razumjeti, Opera Dragonfly zvuči kao alat koji će vam se možda učiniti vrlo korisnim ...

Uvijek sam koristio Dragonfly za analizu minificiranog koda. Osim što ima lijepi pisač, ima i nevjerojatno praktičnu funkciju analize.

Evo jQuery.min u svoj svojoj minificiranoj slavi ... jQuery, in all its minified glory.

Gumb koji sam zaokružio ovdje je lijepi pisač koji iznenada pretvara kôd u nešto poput ovoga: Beautified jQuery.min

Što je lijep početak, ali još uvijek je vrlo teško razumjeti bez neke ideje kako to izgleda tijekom izvršenja.

Prvo morate odrediti koji dio funkcionalnosti minificirane datoteke pokušavate razumjeti. Točke prekida događaja nevjerojatno su zgodne za ovo jer ih možete postaviti za gotovo bilo koji korisnički unos ili pri opterećenju elementa. Na primjer, ako bih želio vidjeti što se događa u jQueryju kada se dogodi događaj prelaska mišem, mogao bih dodati točku prekida događaja za "prelazak mišem". Na taj način mogu vidjeti gdje je ulazna točka u kod kada pomičem mišem preko određenog elementa.

Kad vaš kôd pogodi točku prekida, uđete u način u kojem možete, kao u mnogim DOM-ima program za otklanjanje pogrešaka, komunicirajte s trenutnim stanjem koda koji pregledavate. Ali to možete učiniti prelaskom miša preko odjeljaka koda, tako da je vrlo lako imati na umu kontekst koda.

Event breakpoint and analysis.

Također možete pregledati opseg i tko na što upućuje s podkartice "Stanje" na kartici Skripte na isti način kao što to možete učiniti s izvornim prozorom. Tako možete vidjeti da li neka varijabla nadjačava drugu ili se negdje događa neka magija zatvaranja ili iz kojeg opsega varijabla zapravo potječe. Također, ako pogledate DOM element, možete mišem prijeći preko njega da biste ga istaknuli na stranici. (Pogledajte zadnju sliku.)

State tab.

Dragonfly konzola također ima ovu funkciju prelaska mišem ... Također sve ima završetak kartice, tako da možete izvršiti bilo koji kôd iz bilo kojeg stanja, pregledati na bilo kojoj razini izvršenja, preusmjeriti varijable, pokrenuti testove ili se jednostavno kretati sa završetkom [Tab] da biste učinili gotovo sve kako biste shvatili što radi kod koji gledate. Console tab.

Opera inspektor će definitivno pomoći u preokretanju i razumijevanju minificiranog ili zamućenog koda.

#2
+15
Devdatta Tengshe
2013-03-21 10:16:22 UTC
view on stackexchange narkive permalink

Više volim koristiti lijepi pisač ugrađen u alate za programere Google Chromea.

Evo minificiranog koda: enter image description here

Pritiskom na lijepi gumb za ispis dobivate sljedeće: enter image description here

#3
+8
WPrecht
2013-03-20 19:15:38 UTC
view on stackexchange narkive permalink

Dobro mjesto za početak je JSBeautifier. Općenito, to ovisi o metodi minificiranja koja je korištena. Ovaj formatira kôd i ima puno mogućnosti. Također može raspakirati "spakirane" skripte (spakirane s pakerom Deana Edwarda). Korisna varijanta ovog koda dostupna je kao dodatak za Firefox Javascript Deminifier.

#4
+6
JulianHarty
2017-02-11 00:21:45 UTC
view on stackexchange narkive permalink

Nedavno sam isprobao http://www.jsnice.org/ na 50 + KB jedne minificirane JavaScript datoteke koja sadrži puno dinamičkog modifikacijskog koda koji je Cordova runtime odbila izvršiti (za ciljanu aplikaciju na Windows Phone 8.1 i Windows 10). Rezultati su bili nevjerojatni jer prepoznaje podudarne fragmente koda koji su dostupni neminificirani iz tisuća projekata otvorenog izvora. Nadam se da će to pomoći vama i drugima u budućnosti.

jsnice je najbolje. Minifikacija ne vrijedi puno kad se nazivi varijabli ne vrate natrag i niti jedna od ostalih stavki na ovom popisu to neće učiniti umjesto vas.


Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 3.0 licenci pod kojom se distribuira.
Loading...