Деминификација JavaScript кода на мрежи
Налепите минификовану .js датотеку, webpack пакет или исечак у једном реду и добијте правилно увучен JavaScript у десном панелу. Форматирање обавља Prettier у вашем прегледачу, без отпремања било каквог садржаја.
Зашто JavaScript постаје нечитљив
Сваки савремени поступак изградње минификује JavaScript пре испоруке. Terser, esbuild, SWC и слични алати уклањају размаке и коментаре, скраћују називе локалних променљивих и функција на једно слово, своде угнежђене блокове на повезане изразе и спајају целу апликацију у једну или две датотеке. React апликација настала из три стотине читљивих изворних датотека стиже у прегледач као један ред од неколико стотина килобајта. Код и даље ради исправно, али када треба да га прочитате, видите само зид текста без структуре која би вам помогла.
Шта вам форматирање заиста враћа
Улепшавање пакета враћа особине које олакшавају кретање кроз код. Свака наредба поново има свој ред, па траг стека који упућује на ред 1, колону 24815 добија положај који можете да пронађете у читљивом приказу. Угнежђивање постаје видљиво: јасно је где функција почиње и завршава се, коју грану одређује услов и како се повезује низ повратних позива. Ниске, URL адресе и називи крајњих тачака лако се уочавају, што је обично најважније када проверавате туђу скрипту уместо да отклањате грешку у својој.
Подржана је савремена синтакса
Форматер анализира актуелни JavaScript, а не ограничени подскуп од пре десет година. Стреличасте функције, класе, async и await, генератори, опционо уланчавање, оператор за null и undefined, шаблонске ниске, деструктурирање, spread синтакса, динамички увози и ES модули форматирају се правилно. Подржан је и JSX, што је важно када прегледате React компоненту чија JSX синтакса није претворена у обичан JavaScript. Пошто посао обавља Prettier, резултат прати исте конвенције које ваш уређивач већ примењује на ваше датотеке.
Где су ограничења
Деминификација није обрнути инжењеринг. Минификатор је обрисао коментаре и променио називе променљивих, а ниједан форматер не може да погоди да се променљива сада названа n некада звала remainingRetries. Ако је пројекат објавио изворну мапу, учитајте је у развојне алате прегледача, јер је то једини пут до правог оригинала. Ако је датотека намерно обфускована, а не само минификована, очекујте читљиву структуру, али не и јасну намеру кода.
Честа питања
Може ли алат да деминификује webpack или Vite пакет?
Да. Налепите пакет или га отворите дугметом Изабери датотеку и биће форматиран као било која друга JavaScript датотека. Велики пакети захтевају неколико секунди јер се обрада врши на вашем рачунару, а структура модула постаје видљива када се код увуче.
Да ли алат деобфускује JavaScript?
Алат форматира обфускован код и тиме га чини знатно лакшим за читање, али не поништава саму обфускацију. Кодиране ниске, вештачки ток извршавања и намерно додат мртав код остају на истим местима.
Може ли форматирање да поквари код?
Форматер настоји да сачува понашање JavaScript кода уз доследан стил. Може да промени интерпункцију, наводнике и распоред, па резултат није потпуно иста датотека бајт по бајт. Сачувајте оригинал, прегледајте резултат и покрените тестове пројекта пре употребе измењеног или форматираног пакета у продукцији.
