Лучший способ распаковать файлы javascript

Существует множество инструментов для сжатия файла Javascript (например, Packer YUI).

Но как я могу распаковать их обратно в удобочитаемый формат?

Я сжал файл с помощью такого инструмента, как Packer YUI , но не смог снова получить доступ к источнику.

Есть ли хорошее программное обеспечение или приемы, которые вы можете предложить для распаковки JS?


person Mac Taylor    schedule 12.02.2010    source источник
comment
Подсказка: Заглавные буквы, правильная пунктуация и использование обычных слов вместо лит-говора облегчают людям чтение вашего вопроса.   -  person Quentin    schedule 12.02.2010
comment
См. функции Pretty Print в инструментах разработчика Chrome или IE. См. stackoverflow.com/a/7149719/2291 Они не распаковывают их, но облегчают чтение.   -  person Jon Adams    schedule 10.05.2012


Ответы (5)


Вы не можете. Сжатие Javascript обычно происходит с потерями, и информация теряется навсегда.

Что вы можете сделать, так это использовать средство форматирования исходного кода и хороший инструмент рефакторинга и — мучительно — реконструировать исходный исходный код. Даже если вы не знакомы с кодом, это должно быть возможно; Джефф и еще несколько человек реконструировали код javascript WMD из уменьшенной версии.

Наконец, вам следует подумать об использовании системы контроля версий и надлежащих резервных копий, чтобы сохранить исходный код в безопасности.

person David Schmitt    schedule 12.02.2010
comment
спасибо, но есть ли какое-нибудь программное обеспечение, чтобы убрать беспорядок, так что вы говорите, что я потерял свой сценарий навсегда, я всегда задаюсь вопросом, как я могу использовать систему управления версиями пользователя, любое программное обеспечение, любой онлайн-сервис? - person Mac Taylor; 12.02.2010
comment
+1 за упоминание, что сжатие JS с потерями. Еще +1 за форматтер исходного кода. И третий +1 за систему контроля версий и бэкапы. Подводя итог, беря по модулю 2 и, наконец, добавляя +1 к ответу. - person Boldewyn; 12.02.2010
comment
@Mac Tylor: Если вы пользователь Windows, взгляните на TortoiseSVN. Mac поставляется с Time Machine (скорее программа для резервного копирования, чем полнофункциональная VCS), а для *NIX у вас есть самый богатый выбор из десятков хороших систем на основе командной строки (и git-gui или gitk, если вы выбираете git и нуждаетесь в нем). видимая обратная связь). - person Boldewyn; 12.02.2010
comment
Онлайн-сервисы: либо вы платите, либо публикуете исходный код с открытым исходным кодом. В последнем случае у вас есть свободный выбор, например: SourceForge, GitHub, Google Code, Codeplex, ... - person Boldewyn; 12.02.2010
comment
спасибо, ребята, я пользователь Windows, и я бы попробовал toroise - person Mac Taylor; 12.02.2010
comment
@Mac: не потерян. Просто адская работа, чтобы вернуть его. Переименовать все переменные и переделать комментарии еще проще, чем перекодировать (а также повторно протестировать и повторно отладить) весь сценарий. - person David Schmitt; 12.02.2010

Этот действительно классный веб-сайт. Вы можете вставить уменьшенный JS, тогда вы получите удобочитаемый вид.

person jacktrades    schedule 16.08.2012

Попробуйте плагин JSMinNpp (теперь он называется JSToolNpp) для notepad++ (для сжатия и распаковки). http://www.sunjw.us/jstoolnpp/

person clsturgeon    schedule 28.07.2011

РАСПРЕДЕЛИТЬ JAVASCRIPT

Типичный JavaScript, сжатый с помощью /packer/, начинается со следующего кода:

      `eval(function(p,a,c,k,e,r)`…
      `eval` can simply be replaced by alert.

Функция eval оценивает строковый аргумент, содержащий JavaScript. В большинстве упаковщиков используется eval, за которым следует document.write.

Чтобы распаковать JavaScript, замените эти методы одним из следующих:

1. Замените eval на alert (Предупреждение просто напечатает код во всплывающем окне)

2. Если JavaScript появляется после элемента <body>, вы можете добавить <textarea> следующим образом:

      `<textarea id="code"></textarea>`

Затем замените eval(…); от document.getElementById("code").value=…;.

person Community    schedule 08.02.2011

Я никогда не использовал Packer YUI. Но если вы используете этот упаковщик javascript, вы всегда можете вернуть свой код с помощью этого преобразователь JavaScript, который также распаковывает код.

Некоторые минификаторы javascipt сокращают имена переменных при сжатии файла js. В этом случае вы никогда не сможете вернуть исходный код, даже если вы его украсите.

person mosfiqur rahman    schedule 01.12.2015