Я изучаю программирование на Javascript без браузера. Я хочу запускать сценарии из командной строки Linux или Mac OS X, так же, как мы запускаем любой другой язык сценариев (ruby, php, perl, python ...)
$ javascript my_javascript_code.js
Я посмотрел на Spider Monkey (Mozilla) и v8 (Google), но оба они, похоже, встроены.
Кто-нибудь использует Javascript в качестве языка сценариев для выполнения из командной строки?
Если кому - то интересно , почему я смотрю в это, я ковыряться node.js . Производительность node.js заставляет меня задуматься, может ли javascript быть жизнеспособным языком сценариев для обработки больших данных.
javascript
unix
command-line
scripting
v8
Даниил
источник
источник
Ответы:
Я нашел этот связанный вопрос по теме, но если вам нужны прямые ссылки, вот они:
Я удивлен, что node.js не поставляется с оболочкой, но я думаю, что это больше похоже на обратный вызов на основе epoll / селектора / ориентированный на события веб-сервер, поэтому, возможно, ему не нужен полный набор функций JS, но я Я не слишком знаком с его внутренним устройством.
Поскольку вы, кажется, заинтересованы в node.js и поскольку он основан на V8, возможно, лучше всего будет следовать этим инструкциям по настройке среды V8, чтобы вы могли иметь последовательную основу для программирования на JavaScript (я надеюсь, что JSC и V8 в основном то же самое, но я не уверен).
источник
nodejs
в терминале дает доступ к REPL.Основной ответ
Да, отвечая на ваш вопрос, можно использовать JavaScript как «обычный» язык сценариев из командной строки без браузера. Поскольку другие еще не упомянули об этом, я вижу, что стоит упомянуть:
В системах на основе Debian (включая Ubuntu, Linux Mint и aptosid / sidux, по крайней мере), помимо уже упомянутых вариантов установки Rhino и других, у вас есть другие варианты:
Установите
libmozjs-24-bin
пакет, который предоставит вам движок Mozilla Spidermonkey в командной строке как простойjs24
, который также можно использовать как интерактивный интерпретатор. (Значок24
в названии означает, что он соответствует версии 24 Firefox).Установите
libv8-dev
пакет, который предоставит вам движок Google V8. В качестве одного из примеров он содержит файл,/usr/share/doc/libv8-dev/examples/shell.cc.gz
который можно очень просто распаковать и скомпилировать (например,g++ -Os shell.cc -o shell -lv8
).Установите пакет,
nodejs
и он будет доступен как исполняемый файлnodejs
и как альтернатива (в смысле Debian) для предоставленияjs
исполняемого файла. JIT-компиляция предоставлена V8.Установите пакет
libjavascriptcoregtk-3.0-bin
и используйте интерпретатор JavaScriptCore (jsc
) WebKit как обычный интерпретатор из командной строки. И это без необходимости иметь доступ к Mac. На многих платформах (например, x86 и x86_64) этот интерпретатор будет поставляться с JIT-компилятором.Таким образом, почти без компиляции в вашем распоряжении будут три тяжеловесных движка JavaScript.
добавление
После того, как у вас все установлено, вы можете просто создавать файлы с помощью
#!/usr/bin/js
строки shebang, и все будет просто работать:источник
Я установил Node.js на iMac и
в баше будет работать.
источник
nodejs somefile.js
с тех пор, как я установил пакетЯ знаю, что вы спрашивали о Linux и Mac; Я дам ответ для Windows, если другие люди, интересующиеся Windows, найдут ваш вопрос.
Windows включает движок Javascript, который можно использовать из командной строки.
Все версии Windows, начиная с Windows 98, включают что-то под названием « Windows Script Host ». Это стандартный для Windows способ поддержки "движков" скриптов. С момента первого выпуска WSH поддерживает JScript, версию Javascript от Microsoft. Среди прочего, это означает, что из командной строки Windows вы можете просто вызвать имя любого файла * .js, и он будет работать в движке JScript. (через wscript.exe или cscript.exe)
источник
Поскольку никто об этом не упомянул: Начиная с Java 1.6 Java JDK также поставляется в комплекте с командной строкой JavaScript и REPL.
Он основан на Rhino: https://developer.mozilla.org/en/docs/Rhino
В Java 1.6 и 1.7 команда вызывается
jrunscript
(jrunscript.exe
в Windows) и находится в папке bin JDK.Начиная с Java 1.8 добавлена новая реализация JavaScript (Nashorn: https://blogs.oracle.com/nashorn/ )
Итак, в Java 1.8 команда вызывается
jjs
(jjs.exe
в Windows)источник
FWIW, node.js поставляется с оболочкой, попробуйте ввести:
как только вы установили node.js, чтобы увидеть его в действии. Довольно стандартно установить rlwrap, чтобы он работал нормально.
источник
Вы можете проверить Rhino .
Оболочка Rhino позволяет запускать сценарии JavaScript в пакетном режиме:
источник
Я знаю, что это старый, но вы также должны попробовать Zombie.js . Безумно быстрый браузер, который идеально подходит для тестирования!
источник
Я использую Ubuntu 12.10 и js из командной строки
Он доступен с моей установкой java:
Некоторые примеры:
Небо - это предел, тогда продолжайте идти.
источник
PhantomJS тоже позволяет это делать
http://phantomjs.org/
источник
Я обнаружил, что этот отличный JS-движок с открытым исходным кодом, совместимый с ECMAScript, полностью написанный на C, называется duktape.
Удачи!
источник
Ну, есть JavaScript как OSA , расширение, которое предоставляет JavaScript в качестве альтернативы appleScript. Я использовал это около 10 лет назад, не знаю, работает ли он до сих пор с текущими версиями ОС
источник
JSDB , доступный для Linux, Windows и Mac, должен вполне соответствовать всем требованиям. Он использует движок Mozilla Spidermonkey Javascript и, похоже, его установка менее сложна по сравнению с node.js (по крайней мере, в последний раз я пробовал node.js пару лет назад).
Я нашел JSDB из этого интересного списка оболочек Javascript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Shells
источник