Windows 有哪些 JavaScript 编译器或解释器?
我最近读了这本书 Eloquent JavaScript 。本书介绍了使用JavaScript作为第一语言编程的读者。遗憾的是,程序仅限于在嵌入HTML的浏览器中运行。所以,我想知道是否可以编写可以独立执行的JavaScript程序。
编译器或解释器应该可以作为预编译的二进制文件轻松使用,可以由初学者下载和安装。他应该能够编写使用此编译器编译的简单独立JavaScript程序。可以使用此编译器的其他JavaScript库,框架,IDE和调试支持。
答案 0 :(得分:8)
Node.js也可以作为解释器使用。它是一个在V8 JavaScript引擎上运行的框架。它是well documented,有大量官方和third party modules。
虽然可以require cygwin在Windows上运行(或者你可以compile it with MingW)。有预编译的二进制文件,包括所需的cygwin库,可在node-js.prcn.co.cc获得。
答案 1 :(得分:8)
还没有人提到过,window自己的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文件编译成可在任何安装了.NET的Windows机器上运行的可执行文件。
答案 2 :(得分:4)
有几个免费的独立Javascript解释器可用:
答案 3 :(得分:2)
jsdb很好。我在editplus内使用它,有时在Aptana Studio
内答案 4 :(得分:2)
您也可以在some circumstances下直接在命令提示符下运行JScript脚本(Microsoft的Javascript实现)。
但我个人最喜欢的是Rhino,在另一个答案中提到。
答案 5 :(得分:2)
好的,Windows Scripting Host是使用Microsoft的 Active Scripting 执行各种管理任务的工具,可以运行各种语言的脚本,包括JScript,它们的ECMAScript实现。关于它没有什么可说的,所以请将浏览器指向引用 - http://msdn.microsoft.com/en-us/library/shzd7dy4(VS.85).aspx
忘记编译器,BTW,ECMAScript是解释语言(JIT编译是另一个问题)
另请注意,ECMAScript标准没有定义任何标准I / O,因此主程序负责提供它。
答案 6 :(得分:1)
对于您正在寻找的内容可能有点令人费解,但您可以使用Rhino's JavaScript Compiler将JavaScript源代码编译为Java类文件,然后可以使用标准GCJ frontend to the GCC compiler suite将其编译为二进制可执行程序。
正如其他人所提到的,默认情况下,在现代Windows安装中可以使用ECMAScript的JScript实现。扩展名为“.js”的文件可以双击执行,也可以使用cscript.exe命令在命令行上运行。
答案 7 :(得分:1)
我也有同样的需求,但最终找到了一个名为DeskJS的应用程序(https://deskjs.wordpress.com)。它是一款免费的便携式Windows控制台应用程序,可让您运行纯JavaScript代码甚至加载任何现有的JS文件。它支持在浏览器中实现的基本JS弹出框。您可以将命令保存为可以在启动时运行的JS文件,也可以将它们拖放到应用程序上。此外还有更多内容,比如你可以为Sublime Text创建一个可以通过cmd运行JS文件的构建系统,它支持自定义整个控制台和片段的主题,让你可以保存JavaScript代码的短片段以供日后使用使用。对应用程序以及其他本机API的改进仍在进行中。
答案 8 :(得分:0)
你试过Mozilla XUL & XULRunner吗?它比仅仅是一个解释器要复杂得多,但它也可以在MacOsX&amp; Linux,不仅仅是Windows。 Firefox和Thunderbird是用它编写的(是的,Firefox是用Javascript编写的!)。下个月在华沙举行的FalsyValues会议上将举办XUL研讨会 - link。