Я ищу код, который поддерживает JavaScript и работает как в Windows, так и в Linux и может использоваться в пакетных сценариях. Любые рекомендации?Командная строка JavaScript-код beautifier, который работает на Windows и Linux
ответ
Во-первых, выберите свой любимый Javascript Pretty Print/Beautifier. Я предпочитаю один на http://jsbeautifier.org/, потому что это то, что я нашел первым. Загрузите его файл https://github.com/beautify-web/js-beautify/blob/master/js/lib/beautify.js
Во-вторых, скачайте и установите Javascript-модуль на основе Java, основанный на Java, Rhino. «Установить» немного вводит в заблуждение; Загрузите zip-файл, извлеките все, поместите js.jar в свой путь к Java (или Library/Java/Extensions в OS X). После этого вы можете запускать скрипты с вызовом аналогичен этому
java -cp js.jar org.mozilla.javascript.tools.shell.Main name-of-script.js
Используйте Довольно печати/Beautifier от шага 1, чтобы написать небольшой скрипт, который будет читать в вашем файл JavaScript и запустить его через Хорошенькую Печать/Beautifier из первый шаг. Например
//original code
(function() { ... js_beautify code ... }());
//new code
print(global.js_beautify(readFile(arguments[0])));
Rhino дает код JavaScript несколько дополнительных полезных функций, которые не обязательно имеют смысл в контексте браузера, но в контексте консоли. Функция print делает то, что вы ожидаете, и печатает строку. Функция readFile принимает строку пути файла в качестве аргумента и возвращает содержимое этого файла.
Вы бы вызвать что-то вроде выше
java -cp js.jar org.mozilla.javascript.tools.shell.Main beautify.js file-to-pp.js
Вы можете смешивать и сочетать Java и Javascript в вашем Rhino запускать скрипты, так что если вы знаете немного Java это не должно быть слишком сложно, чтобы получить это также работает с текстовыми потоками.
До сих пор я нашел пару онлайн из них:
Все еще ищете что-то я бежал из командной строки.
Я предполагаю, что вы нашли то, что вам нужно сейчас (спустя 4 года), но всегда есть json.tool питона: http://richardlog.com/post/12743073497/pretty-printing-json-and-xml-on-mac-osx –
Это бесплатный автономный Beautifier (и многое другое):
Мой Довольно инструмент Diff написана полностью на JavaScript, так что работает одинаково хорошо на всех операционных системах. Он поддерживает украшение и минимизацию JavaScript, CSS, любой язык разметки, который использует разделители стиля XML, включая HTML.
Проблема с наделите beautifiers является выбор продукции и фильтрации и разорвать отсутствие серьезных beautifiers командной строки. Недавно я начал модифицировать компрессор YUI, чтобы украсить код. Если вы хотите сделать свой собственный декоратор, я должен настоятельно рекомендовать этот подход. YUI является открытым исходным кодом и поставляется с файлом сборки муравьев, что упрощает его изменение и компиляцию.
UPDATE апреля 2014:
Beautifier был переписан, так как я ответил на это в 2010 году Существует в настоящее время модуль питона там, НПМ пакет для nodejs, а файл банка ушел. Пожалуйста, прочитайте project page on github.com.
стиль Python:
$ pip install jsbeautifier
NPM стиль:
$ npm -g install js-beautify
использовать:
$ js-beautify file.js
Оригинальный ответ
Добавление к ответу @Alan Storm
Освободитель командной строки, основанный на http://jsbeautifier.org/, получил немного проще в использовании, поскольку теперь он (альтернативно) основан на движке JavaScript V8 (код на языке C++) вместо носорога (на основе java JS, упакован как «js.jar»). Таким образом, вы можете использовать V8 вместо носорога.
Как использовать:
скачать jsbeautifier.org зип файл из http://github.com/einars/js-beautify/zipball/master
(это загрузить URL связан с зип файл, например, http://download.github.com/einars-js-beautify-10384df.zip)
старый (больше не работает, баночка файл ушел)
java -jar js.jar name-of-script.js
новый (альтернативный)
установки/компиляции v8 экспромты из SVN см v8/README.txt в вышеупомянутом почтовый файл
./jsbeautify somefile.js
-обладает несколько различных опций командной строки, чем версия носорога,
-И прекрасно работает в Eclipse при настройке в качестве «внешнего инструмента»
Я написал статью, объясняющую, как построить command-line JavaScript beautifier implemented in JavaScript менее чем за 5 минут. YMMV.
- Download the latest stable Rhino and unpack it somewhere, e.g. ~/dev/javascript/rhino
- Download beautify.js which is referenced from aforementioned jsbeautifier.org then copy it somewhere, e.g. ~/dev/javascript/bin/cli-beautifier.js
Add this at the end of beautify.js (using some additional top-level properties to JavaScript):
// Run the beautifier on the file passed as the first argument. print(j23s_beautify(readFile(arguments[0])));
Copy-paste the following code in an executable file, e.g. ~/dev/javascript/bin/jsbeautifier.sh:
#!/bin/sh java -cp ~/dev/javascript/rhino/js.jar org.mozilla.javascript.tools.shell.Main ~/dev/web/javascript/bin/cli-beautifier.js $*
(optional) Add the folder with jsbeautifier.js to PATH or moving to some folder already there.
Это очень полезный сайт, чтобы украсить/отложить ваши файлы js. я часто использую его. Проверьте это: http://jsbeautifier.org/
Вот Javascript Beautifier написано в .NET с поддержкой командной строки, а также интерактивный режим: http://www.rahulsingla.com/blog/2010/12/jsbeautifier-net-javascript-beautifier-in-net
Там нет внешней зависимости, кроме .Net 2.0.
Я использую этот (http://jsbeautifier.atomproject.net/) beautifier. Его онлайн и бесплатно.
Я не могу добавить комментарий к принятому ответу, поэтому вы видите сообщение, которое не должно было существовать в первую очередь.
В принципе, мне также нужен был javascript beautifier в java-коде, и, к моему удивлению, ни один из них не доступен, насколько я мог найти. Поэтому я сам закодировал его полностью на основе принятого ответа (он обертывает скрипт jsbeautifier.org beautifier .js, но может быть вызван из java или командной строки).
Код находится в https://github.com/belgampaul/JsBeautifier
я использовал носорог и beautifier.js
ИСПОЛЬЗОВАНИЯ из консоли: Java -jar jsbeautifier.jar скрипт отступы
пример: Java -jar jsbeautifier.jar " функция и далее() {возвращение}»2
ИСПОЛЬЗОВАНИЕ из кода Java: открытые статические строки jsBeautify (String jsCode, внутр отступа)
Вы можете расширить код. В моем случае мне понадобился только отступ, чтобы я мог проверить сгенерированный javascript при разработке.
В надежде, что это сэкономит вам время в вашем проекте.
Если вы используете nodejs попробуйте uglify-js
На Ubuntu 12.04, если вы уже установили nodejs, вы можете установить уродовать с:
sudo npm install -g uglify-js
А затем получить варианты:
uglifyjs -h
Так что если у меня есть исходный файл foo.js
, который выглядит так:
// foo.js -- minified
function foo(bar,baz){console.log("something something");return true;}
Я могу украсить его так:
uglifyjs foo.js --beautify --output cutefoo.js
uglify
использует пробелы для отступов по умолчанию, так что если я хочу, чтобы преобразовать 4-пространства-отступы для вкладок я могу запустить его через unexpand
который приходит Ubuntu 12,04 с:
unexpand --tabs=4 cutefoo.js > cuterfoo.js
Или вы можете делать все это на одном дыхании:
uglifyjs foo.js --beautify | unexpand --tabs=4 > cutestfoo.js
Вы можете узнать больше о unexpand here
так что после всего этого я заводиться с файлом, который выглядит так:
function foo(bar, baz) {
console.log("something something");
return true;
}
обновление 2016-06-07
It что поддерживающий uglify-js теперь работает на version 2, хотя установка такая же.
Это ** правильный ** ответ для командной строки JavaScript code beautifer. – bitek
'uglifyjs -b' делает намного больше, чем просто исправить отступ, он перестраивает и перезаписывает код, возможно, для эффективности. Я этого не хотел. Я использовал более старую версию, в Ubuntu 14.04. –
Не могли бы вы объяснить немного больше, как 'uglifyjs -b' переупорядочивает и переписывает код? – erapert
Если вы используете Notepad ++ здесь плагин для Notepad ++ http://www.sunjw.us/jsminnpp/
Я считаю, что, когда вы спросили о инструмент командной строки вы просто хотели, чтобы украсить все JS файлы в пакетном режиме.
В этом случае Intellij IDEA (проверено с 11.5) может это сделать.
Вам нужно всего лишь выбрать любой файл вашего проекта и выбрать «Код» -> «Преобразовать код ..» в главном меню IDE. Затем в диалоговом окне выберите «все файлы в каталоге ...» и нажмите «enter». Просто убедитесь, что вы выделили достаточно памяти для JVM.
В консоли вы можете использовать Artistic Style (a.k.a. AStyle) с --mode=java
.
Он отлично работает, и он бесплатный, с открытым исходным кодом и кросс-платформенный (Linux, Mac OS X, Windows).
Используйте современный способ JavaScript:
Grunt Использование в сочетании с jsbeautifier plugin for Grunt
Вы можете установить все легко в среде Dev с помощью npm.
Все, что вам нужно, это установить Gruntfile.js с соответствующими задачами, которые также могут включать в себя объединение файлов, lint, uglify, minify и т. Д. И запуск команды grunt.
Попробуйте Notepad ++ плагин JSMinNpp (Измененное имя JSTool так 1.15)
- 1. Командная строка Windows Эквивалентна «времени» в Linux?
- 2. Командная строка Windows GIT-пароль
- 3. Командная строка Linux Nodejs
- 4. Командная строка Git на Windows
- 5. Командная строка Windows ftp
- 6. Командная строка Windows
- 7. Командная строка Windows PCRE
- 8. Командная строка Linux/терминология оболочки
- 9. Linux Написать письмо - Командная строка
- 10. Python, Командная строка, Windows
- 11. Windows Командная строка PHP
- 12. В Jenkins - Командная строка Windows не работает
- 13. Командная строка Windows Не работает От Python
- 14. Командная строка JMeter - версия linux vs windows version
- 15. Командная строка svn для Windows?
- 16. Командная строка Windows 7 Проблема
- 17. Командная строка Windows: значение поиска и замены
- 18. Командная строка sqlcipher не работает
- 19. Командная строка в Windows и Node.js
- 20. Командная строка, альтернативная Windows task_ill.exe
- 21. Командная строка на Затмении
- 22. Почему моя командная строка Windows позволяет командам Linux?
- 23. Командная строка «Обновление» в Windows
- 24. Isabelle2016 и командная строка
- 25. Windows Командная строка получить дату
- 26. Командная строка Windows - пустой каталог
- 27. Командная строка Windows, висящая в RDP Windows
- 28. Командная строка Windows 10 UWP
- 29. Командная строка Windows open ports
- 30. Командная строка Escape (Windows 7, CMD)
ссылка, которую вы дали, сломана, она должна быть такой, я думаю, http: // jsbeautifier .org/ – Sinan
Синан прав. Ссылка перенесена на http://jsbeautifier.org/ –
Как я это сделал: : ~ $ sudo apt-get install libv8-dev libv8-2.2.18 : ~ $ cd einars-js-beautify-f90ce72/v8 : ~ $ g ++ -o jsbeautify jsbeautify.cpp -lv8 -Llib -lpthread Он просто работает. Спасибо Эйнару Лиелманису и всем участвующим! –