Как зайти в Даркнет?!
25th January, 01:11
8
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
898
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
951
0
Очень долго работает Update запрос Oracle
27th January, 09:58
916
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
907
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
941
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1726
0
период по дням
25th October, 10:44
3957
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3722
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4614
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4382
0
Помогите пожалуйста решить задачи
24th November, 23:53
6087
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4352
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4399
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Как я могу украсить код JavaScript с помощью командной строки?
Я пишу пакетный скрипт для того, чтобы украсить код JavaScript. Он должен работать как на Windows , так и на Linux .
Как я могу украсить код JavaScript с помощью инструментов командной строки?
Во-первых, выберите свой любимый Javascript на основе довольно Print/Beautifier. я предпочитаю тот , который находится в http://jsbeautifier.org/ , потому что это то, что я нашел первым. Загружает свой файл https://github.com/beautify-web/js-beautify/blob/master/js/lib/beautify.js
Во-вторых, загрузите и установите движок Mozilla group Java на основе Javascript, Rhino . "Install" немного вводит в заблуждение; загрузите файл zip, извлеките все, поместите js.jar в свой Java classpath (или Library/Java/Extensions в OS X). Затем вы можете запускать сценарии с вызовом, подобным этому
java -cp js.jar org.mozilla.javascript.tools.shell.Main name-of-script.js
Используйте качественную печать/украшение из Шага 1, чтобы написать небольшой скрипт, shell, что прочитаете в файле javascript и запустить его через качественную печать/украшение из шага один. Например
//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, это не должно быть слишком сложно, чтобы запустить этот процесс с текстовыми потоками.
Если вы используете nodejs, то попробуйте uglify-js
На Ubuntu 12.04, предполагая, что вы уже установили nodejs, вы можете установить uglify с помощью:
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-space-indentation в вкладки, я могу запустить его через unexpand , который поставляется с Ubuntu 12.04:
unexpand --tabs=4 cutefoo.js > cuterfoo.js
Или вы можете сделать это все за один раз:
uglifyjs foo.js --beautify | unexpand --tabs=4 > cutestfoo.js
Вы можете узнать больше про команду unexpand здесь
так что после всего этого я получаю файл который выглядит так:
function foo(bar, baz) {
console.log("something something");
return true;
}
обновление 2016-06-07
Похоже, что сопровождающий uglify-js теперь работает над версией 2 , хотя установка та же.
Обновление апрель 2014 :
The beautifier был переписан с тех пор, как я ответил на этот вопрос в 2010 году. Теперь там есть модуль python, пакет npm для nodejs, а файл jar исчез. Пожалуйста, прочтите страницу проекта на github.com .
Стиль Python:
$ pip install jsbeautifier
NPM стиль:
$ npm -g install js-beautify
использовать его:
$ js-beautify file.js
Оригинальный ответ
Добавление к ответу @Alan Storm
улучшитель командной строки на основе http://jsbeautifier.org/ стал немного проще в использовании, потому что теперь он (альтернативно) основан на движке V8 javascript (код c++) вместо rhino (движок java-based JS, упакованный как "js.jar"). Так что вы можете использовать V8 вместо rhino.
Как пользоваться:
скачать jsbeautifier.org zip файл из http://github.com/einars/js-beautify/zipball/master
(это загрузка URL, связанная с файлом zip, например http://download.github.com/einars-js-beautify-10384df.zip )
старый (больше не работает, файл jar пропал)
java -jar js.jar name-of-script.js
новая альтернатива)
установите / скомпилируйте V8 lib FROM svn, см. v8/README.txt в вышеупомянутом файле zip
./jsbeautify somefile.js
-имеет несколько иные параметры командной строки, чем версия rhino,
-и отлично работает в Eclipse, когда настроен как "External Tool"
Я не могу добавить комментарий к принятому ответу, поэтому вы видите сообщение, которое не должно было существовать в первую очередь.
В принципе, мне также нужен был javascript beautifier в коде java, и, к моему удивлению, ни один из них не доступен, насколько я мог найти. Поэтому я сам закодировал один из них, полностью основываясь на принятом ответе (он обертывает сценарий jsbeautifier.org beautifier .js, но вызывается из java или командной строки).
Код находится по адресу https://github.com/belgampaul/JsBeautifier
Я использовал rhino и beautifier.js
USAGE из консоли: java -jar jsbeautifier.jar отступ скрипта
пример: java -jar jsbeautifier.jar "функция ff() {return;}" 2
USAGE из кода java: публичная статическая строка jsBeautify(String jsCode, int indentSize)
Вы можете расширить код. В моем случае мне нужен был только отступ, чтобы я мог проверить сгенерированный javascript во время разработки.
В надежде, что это сэкономит вам некоторое время в вашем проекте.
В консоли можно использовать художественный стиль (a.k.a. AStyle) с --mode=java .
Он отлично работает и является бесплатным, открытым исходным кодом и кросс-платформенным (Linux, Mac OS X, Windows).
Я написал статью, объясняющую, как построить командную строку JavaScript beautifier, реализованную в JavaScript менее чем за 5 минут. YMMV.
- Скачайте последнюю версию stable Rhino и распакуйте ее где-нибудь, например ~/dev/javascript/rhino
- Загрузите beautify.js, на который ссылается вышеупомянутый jsbeautifier.org, а затем скопируйте его куда-нибудь, например ~/dev/javascript/bin/cli-beautifier.js
Добавьте это в конце beautify.js (используя некоторые дополнительные свойства верхнего уровня для JavaScript):
// Run the beautifier on the file passed as the first argument. print( j23s_beautify( readFile( arguments[0] )));Скопируйте-вставьте следующий код в исполняемый файл, например ~/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 $*(необязательно) добавьте папку с jsbeautifier.js в PATH или переместите ее в какую-то уже существующую папку.
Я считаю, что когда вы спросили об инструменте командной строки, вы просто хотели украсить все ваши js-файлы в пакетном режиме.
В этом случае Intellij IDEA (тестируемый с 11.5) может сделать это.
Вам просто нужно выбрать любой из ваших файлов проекта и выбрать "Code"-> " переформатировать код.."в главном меню IDE. Затем в диалоговом окне выберите "все файлы в каталоге ...- и нажмите кнопку "enter". Просто убедитесь, что вы выделили достаточно памяти для JVM.
Используйте современный способ JavaScript:
Использовать грунт в сочетании с jsbeautifier плагин для Grunt
Вы можете легко установить все в свою среду разработки, используя npm .
Все, что вам нужно, это настроить Gruntfile.js с соответствующими задачами, которые также могут включать конкатенацию файлов, lint, uglify, minify и т. д., а также выполнить команду grunt.