JavaScript: Standalone compiler eller tolk til Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



Hvad er JavaScript kompilatorer eller tolke til rådighed for Windows ?


Jeg læste bogen Eloquent JavaScript for nylig. Denne bog introducerer læseren til programmering ved hjælp af JavaScript som første sprog. Desværre er programmerne begrænset til at køre inde i browseren indlejret i HTML. Så jeg undrer mig over, om det er muligt at skrive JavaScript-programmer, der kan udføres selvstændigt. [2]


Kompilatoren eller tolken skal være let tilgængelig som en forudindstillet binær , der kan downloades og installeres af en nybegynder. Han skulle være i stand til at skrive enkle standalone JavaScript-programmer, der er kompileret med denne compiler. Yderligere JavaScript-biblioteker, rammer, IDE'er og debugging-support, der ville arbejde med denne compiler, ville være et plus.

Bedste reference


Ingen har nævnt endnu, vinduets egen javascript compiler: http://msdn.microsoft.com/en-us/library/vstudio/7435xtz6(v=vs.100).aspx[3]


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'


Der er normalt et par eksemplarer liggende på enhver Windows-installation, men de er normalt ikke i stien, så du skal finde dem.


Kompilatoren er i stand til at kompilere javascript-filer i eksekverbare filer, der kan køre på enhver Windows-maskine med .NET installeret.

Andre referencer 1


Node.js fungerer som tolk, selvom du ikke vælger at bruge den til webapplikationer. Det er en ramme, der kører på V8 JavaScript-motoren. Det er veldokumenteret med et stort udvalg af officielle og tredjepartsmoduler. [4] [5] [6]


Det kræver, at cygwin kører på Windows selv (eller du kan kompilere det med MingW). Der findes forkompilerede binarier, herunder de nødvendige cygwin-biblioteker, tilgængelige på node-js.prcn.co.cc. [7] [8] [9]

Andre referencer 2


Der er flere gratis frittstående JavaScript-tolker til rådighed:



  1. V8 - Dette er den samme Javascript-motor, der bruges i Chrome-browseren.

  2. SpiderMonkey - Fra Mozilla.

  3. Rhino - En Java-implementering på Java.


Andre referencer 3


jsdb er rart. Jeg bruger det inden for editplus, nogle gange inden for Aptana Studio [10] [11] [12] [13] [14] [15]

Andre referencer 4


Ok, Windows Scripting Host er et værktøj til at udføre forskellige administrative opgaver ved hjælp af Microsofts Active Scripting og kan køre scripts på forskellige sprog, herunder JScript, deres ECMAScript implementering. Der er ikke meget andet at sige om det, så pege din browser til referencen - http://msdn.microsoft.com/en-us/library/shzd7dy4(VS.85).aspx[16]


Glem alt om compiler , BTW, ECMAScript er fortolket sprog (JIT compiling er det andet problem)


Bemærk også, at ECMAScript-standarden ikke definerer nogen standard I/O, så værtsprogrammet er ansvarlig for at levere det.

Andre referencer 5


Du kan også under visse omstændigheder køre JScript-scripts (Microsoft's Javascript-implementering) direkte på kommandoprompten. [17]


Men min personlige favorit er Rhino, nævnt i det andet svar.

Andre referencer 6


Måske en smule sammenfaldende for hvad du leder efter, men du kan bruge Rhino's JavaScript Compiler til at kompilere JavaScript kildekode i Java klassefiler, som derefter kan kompileres til binære eksekverbare programmer ved hjælp af standard GCJ frontend til GCC compiler suite. [18] [19]


Som nævnt af andre er JScript-implementeringen af ​​ECMAScript som standard tilgængelig på moderne Windows-installationer. Filer med en '.js' -udvidelse kan dobbeltklikkes udført eller køre på kommandolinjen ved hjælp af kommandoen cscript.exe. [20]

Andre referencer 7


Jeg havde også det samme behov, men fandt i sidste ende en app kaldet DeskJS (https://deskjs.wordpress.com). Det er en gratis og bærbar Windows-konsol-applikation, der lader dig køre ren JavaScript-kode og endda indlæse eksisterende JS-filer. Den understøtter de grundlæggende JS popup-bokse, der implementeres i browsere. Du kan gemme dine kommandoer som JS-filer, der kan køres ved opstart eller ved at trække og slippe dem på appen. Plus der er så meget mere til, at du kan oprette et build system til Sublime Text, der kan køre JS-filer via cmd. Det understøtter temaer til at tilpasse hele konsollen og uddrag, der lader Du gemmer korte uddrag af JavaScript-kode til senere brug. Forbedringer foretages stadig på appen sammen med andre native API'er, der medtages. [21]

Andre referencer 8


Har du prøvet Mozilla XUL & XULRunner? Det er ret mere komplekst end at være bare en tolk, men det kører også på MacOsX & Linux, ikke kun Windows. Firefox og Thunderbird er skrevet ved hjælp af det (ja, Firefox er skrevet i Javascript!). Der vil være XUL workshop på FalsyValues ​​konference i Warszawa næste måned - link. [22] [23] [24]