Инструмент для Unminify / Decompress JavaScript

Существуют ли какие-либо сценарии командной строки и / или онлайн-инструменты, которые могут обратить вспять эффекты минимизации, подобно тому, как Tidy может убрать ужасающий HTML?

(Я специально пытаюсь уничтожить минимизированный файл JavaScript, поэтому переименование переменных все еще может быть проблемой.)

17 ответов

Решение

Вы можете использовать это: http://jsbeautifier.org/ Но это зависит от используемого вами метода minify, он только форматирует код, не меняет имена переменных и не распаковывает кодировку base62.

редактировать: фактически он может распаковывать "упакованные" скрипты (упакованные пакером Дина Эдварда: http://dean.ed wards.name/packer/)

Инструменты разработчика Chrome имеют эту встроенную функцию. Откройте инструменты разработчика (нажатие клавиши F12 является односторонним), на вкладке "Источники" в нижней левой панели есть набор значков. Значок "{}" "Довольно печатный" и выполняет это преобразование по требованию.

ОБНОВЛЕНИЕ: IE9 "Инструменты разработчика F12" также имеет функцию "Формат JavaScript" на вкладке "Сценарий" под значком "Инструменты". (см. совет № 4 в F12 Лучший секрет веб-отладки)

Понял! JSBeautifier делает именно это, и у вас даже есть опции для автоматического форматирования.

Разве вы не можете просто использовать формататор javascript ( http://javascript.about.com/library/blformat.htm)?

В Firefox, SpiderMonkey и Rhino вы можете заключить любой код в анонимную функцию и вызвать ее toSource метод, который даст вам красиво отформатированный источник функции.

toSource также снимает комментарии.

Например:

(function () { /* Say hello. */ var x = 'Hello!'; print(x); }).toSource()

Будет преобразован в строку:

function () {
    var x = "Hello!";
    print(x);
}

PS: Это не "онлайн-инструмент", но все вопросы об общих методах украшения закрыты как дубликаты этого.

Если у вас есть Mac и TextMate - простая альтернатива для форматирования Javascript:

  1. Откройте файл с помощью Textmate.
  2. Нажмите> Связки> JavaScript > Переформатировать документ
  3. Взломать пиво.

Большинство IDE также предлагают функции автоформатирования. Например, в NetBeans просто нажмите CTRL + K.

Аналогично ответу Stone, но для разработчиков Windows/.NET:

Если у вас есть Visual Studio и ReSharper - простая альтернатива для форматирования Javascript:

  • Откройте файл с помощью Visual Studio;
  • Нажмите ReSharper > Инструменты> Код очистки (Ctrl+E, C);
  • Выберите "По умолчанию: переформатировать код" и нажмите "ОК";
  • Взломать пиво.

Нажмите на эту ссылку для JS деминификации. Это установит на FF как расширение, которое поможет вам в отладке JS во время выполнения.

https://addons.mozilla.org/en-US/firefox/addon/javascript-deminifier/eula/141018?src=dp-btn-primary

Попробуйте это с окраской кода:

http://labs.swelen.com/tools/javascript/beauty.html

В качестве альтернативы (поскольку я до сих пор не знал о jsbeautifier.org), я использовал букмарклет, который снова включил кнопку декодирования в пакере Дина Эдварда.

Я нашел инструкции и букмарклет здесь.

вот букмарклет (если сайт не работает)

javascript:for%20(i=0;i<document.forms.length;++i)%20{for(j=0;j<document.forms[i].elements.length;++j){document.forms[i].elements[j].removeAttribute(%22readonly%22);document.forms[i].elements[j].removeAttribute(%22disabled%22);}}

Я не уверен, если вам нужен исходный код. На сайте http://www.blackbeltcoder.com/Resources/JSFormatter.aspx имеется бесплатный онлайн-форматер JavaScript.

Несмотря на симпатичный интерфейс, JSPretty - хороший, бесплатный и онлайновый инструмент для создания удобных для чтения исходных кодов JavaScript. Вы можете применить предпочитаемый тип отступа, и он также может обнаружить запутывание.

Если вы находитесь в JS, вы можете использовать Firefox больше. И если его Firefox добавить для спасения. Следующий особенно полезен.

https://addons.mozilla.org/en-US/firefox/addon/phoenix/

Я был не очень доволен выводом jsbeautifier.org того, что я вставлял, поэтому я провел еще несколько поисков и нашел этот сайт: http://www.centralinternet.com.br/javascript-beautifier

Работал очень хорошо для меня.

Pretty Diff будет украшать (красиво печатать) JavaScript способом, который соответствует алгоритмам пробелов JSLint и JSHint.

http://unminify.appspot.com/ Великолепные инструменты для унификации javascript и json

Другие вопросы по тегам