Запустить javascript без браузера
Я изучаю программирование на Javascript без браузера. Я хочу запускать сценарии из командной строки Linux или Mac OS X, так же, как мы запускаем любой другой язык сценариев (ruby, php, perl, python . )
Я посмотрел на Spider Monkey (Mozilla) и v8 (Google), но оба они, похоже, встроены.
Кто-нибудь использует Javascript в качестве языка сценариев для выполнения из командной строки?
Если кому - то интересно , почему я смотрю в это, я ковыряться node.js . Производительность node.js заставляет меня задуматься, может ли javascript быть жизнеспособным языком сценариев для обработки больших данных.
node.js - это не интерпретатор, это асинхронный фреймворк, построенный на реализации JavaScript V8 от Google. Хотя я действительно считаю, что Javascript intererpter V8 включен в установку узла
Если интерпретатор V8 CLI станет популярным, он может стать действительно хорошим обучающим инструментом. Я думаю, что обучение программированию на JavaScript может быть довольно забавным. Честно говоря, Lua может быть лучшим выбором («классы» JS сбивают с толку всех), но способность JS быть брошенной в Интернет понравится любителям труда. Я могу попробовать этот V8 CLI сам.
@ jasonmp85, выполняя функции с новым ключевым словом, создает экземпляры объекта. Когда вы ссылаетесь на свойство / метод в экземпляре, если сам объект не имеет его, проверяется свойство прототипа функции конструктора. Используйте это для общедоступных методов и определите переменные, локальные для функции конструктора, чтобы эффективно получить частные методы / свойства (технически это закрытые переменные ref'd). Конец.
Node работает для этого, но Deno проще установить и позволяет импортировать пакеты по URL-адресам, а не по модулям узлов. см. обозначение земли
Да, отвечая на ваш вопрос, можно использовать JavaScript как «обычный» язык сценариев из командной строки без браузера. Поскольку другие еще не упомянули об этом, я вижу, что стоит упомянуть:
В системах на основе Debian (включая Ubuntu, Linux Mint и aptosid / sidux, по крайней мере), помимо уже упомянутых вариантов установки Rhino и других, у вас есть другие варианты:
Установите libmozjs-24-bin пакет, который предоставит вам движок Mozilla Spidermonkey в командной строке как простой js24 , который также можно использовать как интерактивный интерпретатор. (Значок 24 в названии означает, что он соответствует версии Firefox 24).
Установите пакет, nodejs и он будет доступен как исполняемый файл, так nodejs и как альтернатива (в смысле Debian) для предоставления js исполняемого файла. JIT-компиляция предоставлена V8.
Установите пакет libjavascriptcoregtk-3.0-bin и используйте интерпретатор JavaScriptCore ( jsc ) WebKit в качестве обычного интерпретатора из командной строки. И это без необходимости иметь доступ к Mac. На многих платформах (например, x86 и x86_64) этот интерпретатор будет поставляться с JIT-компилятором.
Таким образом, почти без компиляции в вашем распоряжении будут три тяжеловесных движка JavaScript.
Есть ли способ запустить Javascript, как работают Python, Bash, Windows Batch или другие языки сценариев?
Доступ к файлам и другие функции библиотеки были бы хороши, но не обязательны - я просто очень беглый и самый эффективный в Javascript в наши дни. Однако каждый раз открывать консоль браузера довольно неудобно.
Я был бы наиболее заинтересован в среде Windows.
Node.js - это наиболее широко используемая, часто поддерживаемая и самая стандартная оболочка JavaScript, которую вы можете найти. Это позволит вам запускать новейшие функции JavaScript.
Есть ли способ запустить JavaScript без браузера, например, оболочка или пакетный скрипт?
Оболочка JavaScript позволяет быстро тестировать фрагменты кода JavaScript без перезагрузки веб-страницы. Они чрезвычайно полезны для разработки и отладки кода.
Автономные JavaScript-оболочки
-
- Node.js - это платформа для простого создания быстрых, масштабируемых сетевых приложений. - автономная оболочка JavaScript с скомпилированными двоичными файлами для Windows, Mac и Linux. - отдельная расширяемая оболочка JavaScript, включающая как нативные библиотеки, так и библиотеки JavaScript. - автономная оболочка JavaScript для написания кроссплатформенных приложений JavaScript. Он может использовать wxWidgets для приложений с графическим интерфейсом и раньше назывался wxJavaScript. - автономная оболочка JavaScript, улучшенная Perl. Можно использовать модули Perl непосредственно из JavaScript: DBI для интеграции с базой данных, GTK2 для приложений с графическим интерфейсом, POSIX для системного программирования и т. Д. Лучшее из CPAN для программистов на JavaScript. - Переносимые команды оболочки Unix для Node.js - Microsoft® Windows® Script Host (WSH) является независимым от языка хостом сценариев для Windows Script.
+1 Спасибо, это очень подробный ответ! JSPL и GLUEScript выглядят очень интересно, это именно то, что я имел в виду.
Node.js - это то, что вы ищете.
Он основан на V8, том же движке JavaScript, который использует Chrome. Вы можете использовать его как REPL или запускать скрипты из .js файлов.
Популярность Node.js в коммерческих проектах в последнее время растет. Он используется для серверов, которые должны обрабатывать много параллельных соединений. Он также используется в целях разработки, например, Bower (менеджер пакетов фронт-энда разработки) полностью написан на JavaScript и предназначен для работы на Node.js.
Я изучаю программирование на Javascript без браузера. Я хочу запускать сценарии из командной строки Linux или Mac OS X, так же, как мы запускаем любой другой язык сценариев (ruby, php, perl, python . )
Я посмотрел на Spider Monkey (Mozilla) и v8 (Google), но оба они, похоже, встроены.
Кто-нибудь использует Javascript в качестве языка сценариев для выполнения из командной строки?
Если кому - то интересно , почему я смотрю в это, я ковыряться node.js . Производительность node.js заставляет меня задуматься, может ли javascript быть жизнеспособным языком сценариев для обработки больших данных.
node.js - это не интерпретатор, это асинхронная структура, построенная на реализации JavaScript V8 от Google. Хотя я действительно считаю, что Javascript intererpter V8 включен в установку узла
Если интерпретатор V8 CLI станет популярным, он может стать действительно хорошим обучающим инструментом. Я думаю, что обучение программированию на JavaScript может быть довольно забавным. Честно говоря, Lua может быть лучшим выбором («классы» JS сбивают с толку всех), но способность JS быть размещена в Интернете понравится любителям возиться. Я могу сам попробовать этот V8 CLI.
@ jasonmp85 выполнение функций с новым ключевым словом создает экземпляры объектов. Когда вы ссылаетесь на свойство / метод в экземпляре, если сам объект не имеет его, проверяется свойство прототипа функции конструктора. Используйте это для общедоступных методов и определяйте переменные, локальные для функции конструктора, чтобы эффективно получать частные методы / реквизиты (технически это закрытые переменные ref'd). Конец.
Я нашел этот связанный вопрос по теме, но если вам нужны прямые ссылки, вот они:
- Вы можете установить Rhino, как указывали другие. В этом посте показан простой способ запустить и запустить команду, а также как создать псевдоним для команды, чтобы легко ее вызвать.
- Если у вас Mac, вы можете использовать JavaScriptCore, который вызывает движок JavaScript WebKit. Вот пост об этом
- Вы также можете использовать интерпретатор Chome / Google V8. Вот инструкции
- JavaScript как OSA интересен тем, что позволяет вам (AFAIK) взаимодействовать со скриптовыми приложениями OS X, как если бы вы были в AppleScript (без ужасного синтаксиса).
Я удивлен, что node.js не поставляется с оболочкой, но я думаю, что это больше похоже на обратный вызов на основе epoll / селектора / ориентированный на события веб-сервер, поэтому, возможно, ему не нужен полный набор функций JS, но я Я не слишком знаком с его внутренним устройством.
Поскольку вы, кажется, заинтересованы в node.js и поскольку он основан на V8, возможно, лучше всего будет следовать этим инструкциям по настройке среды V8, чтобы вы могли иметь последовательную основу для программирования на JavaScript (я надеюсь, что JSC и V8 в основном то же самое, но я не уверен).
NodeJS в версии 0.1.101 имеет node-repl, который дает вам доступ к среде через интерфейс командной строки. Отлично подходит для тестирования / изучения JS.
Да, отвечая на ваш вопрос, можно использовать JavaScript как «обычный» язык сценариев из командной строки без браузера. Поскольку другие еще не упомянули об этом, я вижу, что стоит упомянуть:
В системах на основе Debian (включая Ubuntu, Linux Mint и aptosid / sidux, по крайней мере), помимо уже упомянутых вариантов установки Rhino и других, у вас есть другие варианты:
Установите libmozjs-24-bin пакет, который предоставит вам движок Mozilla Spidermonkey в командной строке как простой js24 , который также можно использовать как интерактивный интерпретатор. (Значок 24 в названии означает, что он соответствует версии 24 Firefox).
Установите пакет, nodejs и он будет доступен как исполняемый файл nodejs и как альтернатива (в смысле Debian) для предоставления js исполняемого файла. JIT-компиляция предоставлена V8.
Установите пакет libjavascriptcoregtk-3.0-bin и используйте интерпретатор JavaScriptCore ( jsc ) WebKit как обычный интерпретатор из командной строки. И это без необходимости иметь доступ к Mac. На многих платформах (например, x86 и x86_64) этот интерпретатор будет поставляться с JIT-компилятором.
Таким образом, почти без компиляции в вашем распоряжении будут три тяжеловесных движка JavaScript.
Я посмотрел в 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 в вашем распоряжении.
I looked into spider monkey (Mozilla) and v8 (Google), but both of these appear to be embedded.
Is anyone using Javascript as a scripting language to be executed from the command line?
If anyone is curious why I am looking into this, I've been poking around node.js. The performance of node.js makes me wonder if javascript may be a viable scripting language for processing large data.
node.js is not an interpreter, it is an async framework built on the V8 javascript implementation from Google. Though I do believe V8's javascript intererpter is included in a node install
If V8's CLI interpreter gets popular it could be a really good teaching tool. I think learning to program in JavaScript could be quite a bit of fun. Lua might honestly be the best choice (JS's "classes" confuse the hell out of everyone), but JS's ability to be thrown on the web would appeal to tinkerers. I may try out this V8 CLI myself.
@jasonmp85 executing functions with a new keyword builds object instances. When you reference a property/method on an instance, if the object itself doesn't have it, the prototype property of the constructor function is checked. Use this for public methods and define vars local to the constructor function to effectively get private methods/props (these are technically closure ref'd vars). The end.
Node works to do this, but Deno is easier to install and allows you to import packages by urls instead of node modules. see deno.land
13 Answers 13
Yes, to answer your question, it is possible to use JavaScript as a "regular" scripting language from the command line, without a browser. Since others have not mentioned it yet, I see that it is worth mentioning:
On Debian-based systems (and this includes Ubuntu, Linux Mint, and aptosid/sidux, at least), besides the options of installing Rhino and others already mentioned, you have have other options:
Install the package nodejs and it will be available both as the executable nodejs and as an alternative (in the Debian-sense) to provide the js executable. JIT compilation is provided as a courtesy of V8.
Install the package libjavascriptcoregtk-4.0-bin and use WebKit's JavaScriptCore interpreter ( jsc ) as a regular interpreter from the command-line. And this is without needing to have access to a Mac. On many platforms (e.g., x86 and x86_64), this interpreter will come with a JIT compiler.
So, with almost no compilation you will have three of the heavy-weight JavaScript engines at your disposal.
Читайте также: