Запустить javascript без браузера

Обновлено: 04.07.2024

есть ли способ запустить Javascript так, как выполняются Python, Bash, Windows Batch или другие языки сценариев?

доступ к файлам и другие функции библиотеки было бы неплохо, но не требуется - я просто наиболее свободно и наиболее эффективным в Javascript в эти дни. Однако открывать консоль браузера каждый раз довольно неудобно.

Я был бы наиболее заинтересованы в среде Windows.

есть ли способ запустить JavaScript без браузера, как shell или пакетный скрипт?

оболочка JavaScript позволяет быстро тестировать фрагменты JavaScript код без перезагрузки веб-страницы. Они чрезвычайно полезны для разработки и отладки кода.

автономные оболочки JavaScript

    - узла.js-это платформа для быстрого создания масштабируемых сетевых приложений. - автономная оболочка JavaScript с скомпилированными двоичными файлами для Windows, Mac и Linux. - автономная, расширяемая оболочка JavaScript, включающая как родные, так и JavaScript библиотеки. - автономная оболочка JavaScript для написания кроссплатформенных приложений JavaScript. Он может использовать wxWidgets для GUI приложения, и ранее назывался wxJavaScript. - автономная оболочка JavaScript, расширенная Perl. Может использовать модули perl непосредственно из JavaScript: DBI для интеграции баз данных, GTK2 для приложений GUI, POSIX для системного программирования и т. д. Лучшее из CPAN теперь для JavaScript-программистов. - переносимые команды оболочки Unix для Node.js - Microsoft® Windows® Script Host (WSH)-это независимый от языка хост сценариев для сценариев Windows.

узел.js - это то, что вы ищете.

Он основан на V8, том же движке JavaScript, который использует Chrome. Вы можете использовать его в качестве REPL или запускать скрипты из .js файлы.

узел.популярность js в коммерческих проектах в последнее время растет. Он используется для серверов, которые должны обрабатывать много параллельных соединений. Он также используется для целей разработки, например Bower (front-end менеджер пакетов разработки) написано полностью в JavaScript и предназначен для работы на узле.js.

Однажды я поговорил с руководителем группы в Snap-On Tools, и она сказала, что они используют «реализацию JavaScript» для кодирования на стороне сервера. Это было какое-то время, но я думал, о чем она говорит? Есть ли интерпретаторы для JavaScript помимо тех, которые реализованы в браузерах?

У меня много проблем с JavaScript, но первоклассные функции такие сексуальные. И JavaScript Object Notation настолько чист; Я не мог представить более простой способ определения структур данных. Кроме того, вы можете довольно быстро взломать код с помощью динамической типизации, если вы не пишете что-то критически важное.

В качестве дополнительного вопроса, учитывая последний абзац, есть какие-либо предложения о хорошем языке для изучения (комментариев будет достаточно)?

JavaScript не нужно запускать в браузере, если вы используете движок ECMAScript. На самом деле, SpiderMonkey и Rhino являются движками ECMAScript.

ActionScript Flash - это еще один производный от ECMAScript язык, который не нужно запускать в браузере.

Редактировать - Вау, многое изменилось за три года. Для ваших нужд на стороне сервера я рекомендую node.js.

Да, виртуальные машины JavaScript существуют вне браузера. Вот список специально адаптированных серверных адаптаций.

Я лично использую его Spidermonkey в командной строке, чтобы попробовать код. Rhino - это та же адаптация ECMAScript, что и Spidermonkey (та же языковая реализация), но Rhino работает на Java VM, а Spidermonkey был написан на C.

SpiderMonkey и Rhino, похоже, очень похожи. SpiderMonkey, кажется, является C-библиотекой для выполнения JS, в то время как Rhino является Java-тем же.

Выбирая двигатель

Другие ответы уже упоминали несколько двигателей JS. одним из очень важных факторов при принятии решения о том, какой из них использовать, должен быть язык, на котором он реализован (C, C ++ или Java - выбор), поскольку этот «основной язык» будет тем, к которому у вас будет очень простой доступ.

Например, если вы используете Rhino, вы можете легко получить доступ ко всей стандартной библиотеке Java из кода javascript. (как правило, вы пишете оболочки в JS, чтобы в коде JS не было всех этих вызовов java-lib).

Выбирая рамки

Серверная часть JS

Вас также может заинтересовать эта группа, они пытаются унифицировать работу JS на стороне сервера (предоставить стандартную библиотеку и т. д.). Они только начали эту группу, но у них много умных людей, которые годами работают на сервере:

Как уже отмечалось, Rhino - это механизм JavaScript, написанный на Java.

В Java 6 появился новый механизм обработки сценариев, который называется API сценариев Java в javax.script , для которого Двигатель на основе носорога доступен для использования из коробки. Я не уверен, что это доступно в Java EE, но это стандартная функция Java SE.

Использование API сценариев довольно просто и позволяет приложениям Java довольно легко запускать сценарии, написанные на Javascript. Если вам требуется сценарий в вашем приложении, вам не нужно писать собственный интерпретатор - просто используйте API сценариев. Кроме того, механизм сценариев имеет доступ к библиотекам классов Java, поэтому он прекрасно интегрируется для выполнения задач в вашем приложении.

Например, вычисление квадратного корня из 4 с использованием API сценариев так же просто, как:

В контексте использования этого на стороне сервера я могу представить внешний Jaavscript, выполняемый Rhino, и результаты затем встраиваются в динамически генерируемую HTML-страницу, которая обслуживается. Таким образом, функции могут быть добавлены или изменены без внесения изменений в само веб-приложение. Сами сценарии Javascipt могут действовать более или менее как плагины для основного приложения.

Руководство по программированию сценариев Java содержит несколько примеров, которые создаются шаг за шагом, чтобы представить функции API Java Scripting.

Javascript не обязательно должен быть ограничен браузером. Как и с любым языком сценариев, это действительно зависит от того, где размещен механизм сценариев.

Как и VBScript, классические страницы ASP могут использовать JScript в качестве основного языка сценариев. Вы можете запускать программы JScript из командной строки Windows, используя CSCRIPT.EXE. Фактически, это тот же самый движок сценариев, и он расширяется для поддержки любого количества языков.

Безусловно, самая популярная / привлекательная часть этих серверных javascript-решений касается проверки данных. Вы можете использовать тот же код, который вы используете для повторной проверки форм на стороне клиента на сервере, чтобы обеспечить их целостность. Это очень полезно, потому что просто СУХОЙ и не нарушает синхронизацию правил, когда что-то меняется.

Список известных мне JS-интерпретаторов, которые могут работать автономно или встраиваться в другой код:

jslibs - это хорошая среда выполнения JavaScript без браузера (основана на движке JS Firefox)

Я посмотрел в Spider monkey (Mozilla) и v8 (Google), но оба они, похоже, встроены.

кто-нибудь использует Javascript в качестве языка сценариев для выполнения из командной строки?

Если кому-то интересно, почему я ищу в этом ковыряюсь узел.js. Производительность узла.js заставляет меня задуматься, может ли javascript быть жизнеспособным языком сценариев для обработки больших данных.

Я нашел это вопрос по теме, но если вы хотите прямые ссылки, вот они:

  • вы можете установить Rhino, как указывали другие. этот пост показывает простой способ, чтобы получить его и работает, и как псевдоним команды, чтобы вызвать его легко
  • если вы находитесь на Mac, вы можете использовать JavaScriptCore, который вызывает движок JavaScript WebKit. вот пост на
  • вы можете использовать Chome / Google V8 переводчик тоже. вот инструкции
  • JavaScript как OSA интересен, потому что он позволяет вам (AFAIK) взаимодействовать со скриптовыми приложениями OS X, как если бы Вы были в AppleScript (без ужасного синтаксиса)

Я удивлен узел.js не поставляется с оболочкой, но я думаю, что это действительно больше похоже на epoll / selector-based callback / event-oriented webserver, поэтому, возможно, ему не нужен полный набор функций JS, но я не слишком знаком с его внутренние механизмы.

Так как вы, кажется, заинтересованы в узле.js и поскольку он основан на V8, возможно, лучше всего следовать этим инструкциям по настройке среды V8, чтобы вы могли иметь согласованную основу для программирования JavaScript (я должен надеяться, что JSC и V8 в основном одинаковы, но я не уверен).

да, чтобы ответить на ваш вопрос, можно использовать JavaScript в качестве "обычного" языка скриптов из командной строки, без браузера. Поскольку другие еще не упоминали об этом, я вижу, что стоит упомянуть:

в системах на основе Debian (и это включает в себя Ubuntu, Linux Mint и aptosid/sidux, по крайней мере), помимо вариантов установки Rhino и других, уже упомянутых, у вас есть другие опции:

установить libmozjs-24-bin пакет, который предоставит вам движок Spidermonkey Mozilla в командной строке как простой js24 , который может использоваться также в качестве интерактивного переводчика. (The 24 в названии означает, что он соответствует версии 24 Firefox).

установить пакет nodejs и он будет доступен как исполняемый файл nodejs и альтернатива (в Debian-смысле) предоставить js исполняемый. JIT компиляция предоставляется в качестве любезности V8.

установить пакет libjavascriptcoregtk-3.0-bin и использовать интерпретатор JavaScriptCore WebKit ( jsc ) в качестве обычного интерпретатора из командной строки. И это без необходимости иметь доступ к Mac. На многих платформах (например, x86 и x86_64), этот интерпретатор с JIT-компилятором.

Итак, почти без компиляции у вас будет три тяжелых движка JavaScript в вашем распоряжении.

Я заглянул в пауковую обезьяну (Mozilla) и v8 (Google), но оба они, кажется, встроены.

Кто-нибудь использует Javascript в качестве языка сценариев для выполнения из командной строки?

Если кому-то любопытно, почему я изучаю это, я воткнулся node.js. Производительность node.js заставляет меня задаться вопросом, может ли javascript быть жизнеспособным скриптовым языком для обработки больших данных.

спросил(а) 2010-05-31T07:48:00+04:00 11 лет, 5 месяцев назад

Я нашел этот вопрос по этой теме, но если вам нужны прямые ссылки, вот они:

Я удивлен, что node.js не поставляется с оболочкой, но я думаю, что это больше похоже на веб-сервер с обратным вызовом/событием на основе epoll/selector, поэтому, возможно, ему не нужен полный JS но я не слишком хорошо знаком с его внутренней работой.

Поскольку вы, похоже, заинтересованы в node.js, и поскольку он основан на V8, лучше всего следовать этим инструкциям по настройке среды V8, чтобы вы могли иметь последовательную основу для вашего программирования JavaScript (я должен надеяться АО и V8 в основном одни и те же, но я не уверен).

ответил(а) 2010-05-31T08:12:00+04:00 11 лет, 5 месяцев назад

Да, чтобы ответить на ваш вопрос, можно использовать JavaScript как "обычный" язык сценариев из командной строки без браузера. Поскольку другие еще не упомянули об этом, я вижу, что стоит упомянуть:

В системах на базе Debian (и это включает Ubuntu, Linux Mint и aptosid/sidux, по крайней мере), помимо опций установки Rhino и других, уже упомянутых, у вас есть другие возможности:

Установите пакет libmozjs-24-bin , который предоставит вам механизм Mozilla Spidermonkey в командной строке как простой js24 , который может использоваться также как интерактивный интерпретатор. ( 24 в названии означает, что он соответствует версии 24 Firefox).

Установите пакет nodejs и он будет доступен как исполняемый nodejs , так и как alternative (в смысле Debian), чтобы предоставить исполняемый файл js . Компиляция JIT предоставляется как вежливость V8.

Установите пакет libjavascriptcoregtk-3.0-bin и используйте интерпретатор WebKit JavaScriptCore ( jsc ) в качестве обычного интерпретатора из командной строки, И это без необходимости иметь доступ к Mac. На многих платформах (например, x86 и x86_64) этот интерпретатор будет поставляться с компилятором JIT.

Итак, почти без компиляции у вас будет три тяжелых двигателя JavaScript в вашем распоряжении.

Читайте также: