JavaScript: автономный компилятор или интерпретатор для Windows? - PullRequest
12 голосов
/ 21 апреля 2011

Какие JavaScript компиляторы или интерпретаторы доступны для Windows ?

Я недавно прочитал книгу Красноречивый JavaScript . Эта книга знакомит читателя с программированием с использованием JavaScript в качестве первого языка. К сожалению, программы ограничены для запуска внутри браузера, встроенного в HTML. Итак, мне интересно, можно ли писать программы на JavaScript, которые могут выполняться автономно.

Компилятор или интерпретатор должны быть легко доступны в виде предварительно скомпилированного двоичного файла , который может быть загружен и установлен новичком. Он должен уметь писать простые автономные программы на JavaScript, которые компилируются с помощью этого компилятора. Дополнительные библиотеки JavaScript, инфраструктуры, IDE и поддержка отладки, которые будут работать с этим компилятором, были бы плюсом.

Ответы [ 9 ]

10 голосов
/ 21 апреля 2011

Node.js хорошо работает в качестве переводчика, даже если вы не решите использовать его для веб-приложений. Это фреймворк, работающий на движке V8 JavaScript. Он хорошо документирован с большим выбором официальных и сторонних модулей .

Для требуется, чтобы cygwin работал на Windows (или вы можете скомпилировать его с помощью MingW ). Существуют предварительно скомпилированные двоичные файлы, включая необходимые библиотеки cygwin, доступные по адресу node-js.prcn.co.cc .

8 голосов
/ 11 июля 2013

Никто еще не упомянул, собственный javascript-компилятор окна: http://msdn.microsoft.com/en-us/library/vstudio/7435xtz6(v=vs.100).aspx

Microsoft (R) JScript Compiler version 8.00.50727
for Microsoft (R) .NET Framework version 2.0.50727
Copyright (C) Microsoft Corporation 1996-2005. All rights reserved.

jsc [options] <source files> [[options] <source files>...]

                         JScript Compiler Options

                           - OUTPUT FILES -
  /out:<file>              Specify name of binary output file
  /t[arget]:exe            Create a console application (default)
  /t[arget]:winexe         Create a windows application
  /t[arget]:library        Create a library assembly
  /platform:<platform>     Limit which platforms this code can run on; must be x86, Itanium, x64, or anycpu, which is the default

                           - INPUT FILES -
  /autoref[+|-]            Automatically reference assemblies based on imported namespaces and fully-qualified names (on by default)
  /lib:<path>              Specify additional directories to search in for references
  /r[eference]:<file list> Reference metadata from the specified assembly file
                           <file list>: <assembly name>[;<assembly name>...]

                           - RESOURCES -
  /win32res:<file>         Specifies Win32 resource file (.res)
  /res[ource]:<info>       Embeds the specified resource
                           <info>: <filename>[,<name>[,public|private]]
  /linkres[ource]:<info>   Links the specified resource to this assembly
                           <info>: <filename>[,<name>[,public|private]]

                           - CODE GENERATION -
  /debug[+|-]              Emit debugging information
  /fast[+|-]               Disable language features to allow better code generation
  /warnaserror[+|-]        Treat warnings as errors
  /w[arn]:<level>          Set warning level (0-4)

                           - MISCELLANEOUS -
  @<filename>              Read response file for more options
  /?                       Display help
  /help                    Display help
  /d[efine]:<symbols>      Define conditional compilation symbol(s)
  /nologo                  Do not display compiler copyright banner
  /print[+|-]              Provide print() function

                           - ADVANCED -
  /codepage:<id>           Use the specified code page ID to open source files
  /lcid:<id>               Use the specified LCID for messages and default code page
  /nostdlib[+|-]           Do not import standard library (mscorlib.dll) and change autoref default to off
  /utf8output[+|-]         Emit compiler output in UTF-8 character encoding
  /versionsafe[+|-]        Specify default for members not marked 'override' or 'hide'

Обычно при любой установке Windows лежит пара копий, но они обычно не находятся в пути, поэтомуих нужно найти.

Компилятор способен компилировать файлы javascript в исполняемые файлы, которые могут работать на любой машине с Windows с установленным .NET.

4 голосов
/ 21 апреля 2011

Существует несколько бесплатных автономных интерпретаторов Javascript:

  1. V8 - это тот же движок Javascript, который используется в браузере Chrome.SpiderMonkey - от Mozilla.
  2. Rhino - реализация Javascript на Java.
2 голосов
/ 21 апреля 2011

Хорошо, Windows Scripting Host - это инструмент для выполнения различных административных задач с использованием Microsoft Active Scripting , который может запускать сценарии на разных языках, включая JScript, их реализацию ECMAScript.Больше нечего сказать по этому поводу, поэтому укажите вашему браузеру ссылку - http://msdn.microsoft.com/en-us/library/shzd7dy4(VS.85).aspx

Забудьте о компиляторе , кстати, ECMAScript - интерпретируемый язык (JIT-компиляция - другая проблема)

Кроме того, обратите внимание, что стандарт ECMAScript не определяет какой-либо стандартный ввод / вывод, поэтому хост-программа отвечает за его предоставление.

2 голосов
/ 21 апреля 2011

Вы также можете, при некоторых обстоятельствах , запускать сценарии JScript (реализация Javascript от Microsoft) непосредственно из командной строки.

Но мой личный фаворит - Rhino, упомянутый в другом ответе.

2 голосов
/ 21 апреля 2011

jsdb это хорошо. Я использую его в editplus , иногда в Aptana Studio

1 голос
/ 13 января 2016

У меня тоже была такая же потребность, но в конце концов я нашел приложение под названием DeskJS (https://deskjs.wordpress.com).. Это бесплатное и портативное консольное приложение Windows, которое позволяет запускать чистый код JavaScript и даже загружать любые существующие файлы JS. Оно поддерживает основныеВсплывающие окна JS реализованы в браузерах. Вы можете сохранять свои команды в виде файлов JS, которые можно запускать при запуске или перетаскивая их в приложении. Плюс к этому есть еще много всего, например, вы можете создать систему сборки для Sublime Text.он может запускать файлы JS через cmd, он поддерживает темы для настройки всей консоли и фрагменты, которые позволяют сохранять короткие фрагменты кода JavaScript для дальнейшего использования. В приложение все еще вносятся улучшения, включая другие встроенные API.

1 голос
/ 21 апреля 2011

Возможно, немного сложнее для того, что вы ищете, но вы можете использовать Компилятор JavaScript Rhino для компиляции исходного кода JavaScript в файлы классов Java, которые затем могут быть скомпилированы в исполняемые двоичные программы с использованием стандарта Интерфейс GCJ для набора компиляторов GCC .

Как уже упоминалось, реализация ECMAScript на JScript доступна по умолчанию в современных установках Windows.Файлы с расширением «.js» можно выполнить двойным щелчком мыши или запустить в командной строке с помощью команды cscript.exe .

0 голосов
/ 21 апреля 2011

Вы пробовали Mozilla XUL & XULRunner ?Это гораздо сложнее, чем просто переводчик, но он работает также на MacOsX и Linux, а не только на Windows.Firefox и Thunderbird написаны с использованием этого (да, Firefox написан на Javascript!).В следующем месяце на конференции FalsyValues ​​ в Варшаве будет семинар XUL - ссылка .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...