JavaScript:适用于 Windows 的独立编译器或解释器?

问题描述 投票:0回答:10

可用于 WindowsJavaScript 编译器或解释器有哪些?

我最近读了书Eloquent JavaScript。本书向读者介绍了使用 JavaScript 作为第一语言进行编程。遗憾的是,这些程序仅限于在嵌入 HTML 的浏览器中运行。所以,我想知道是否可以编写可以独立执行的 JavaScript 程序。

编译器或解释器应该可以轻松地以“预编译的二进制文件”形式提供,可供初学者下载和安装。他应该能够编写使用该编译器编译的简单独立 JavaScript 程序。如果能与此编译器配合使用,额外的 JavaScript 库、框架、IDE 和调试支持将是一个优势。

javascript windows
10个回答
13
投票
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 计算机上运行。


10
投票
Node.js

可以很好地用作解释器,即使您不选择将其用于 Web 应用程序。它是一个运行在 V8 JavaScript 引擎上的框架。它有详细记录,有大量官方和第三方模块可供选择。 它确实需要 cygwin

才能在 Windows 上运行(或者您可以

使用 MingW 编译它)。有预编译的二进制文件,包括所需的 cygwin 库,可在 node-js.prcn.co.cc. 获取。

有几个免费的独立 Javascript 解释器可用:

4
投票

V8
    - 这与 Chrome 浏览器中使用的 Javascript 引擎相同。
  1. SpiderMonkey
  2. - 来自 Mozilla。
  3. Rhino
  4. - Java 上的 Javascript 实现。

3
投票
很好。我在

editplus 中使用它,有时在 Aptana Studio 中使用它

好的,Windows Scripting Host 是使用 Microsoft 的

2
投票
执行各种管理任务的工具,并且可以运行各种语言的脚本,包括 JScript(它们的 ECMAScript 实现)。对此没有什么可说的,因此请将浏览器指向参考 -

http://msdn.microsoft.com/en-us/library/shzd7dy4(VS.85).aspx 忘记编译器

,顺便说一句,ECMAScript 是解释性语言(JIT 编译是另一个问题)

另请注意,ECMAScript 标准没有定义任何标准 I/O,因此主机程序负责提供它。

在某些情况下

2
投票

但我个人最喜欢的是Rhino,在另一个答案中提到过。

对于您正在寻找的内容来说可能有点复杂,但您可以使用

Rhino 的 JavaScript 编译器

1
投票
GCJ 前端将其编译为二进制可执行程序

. 正如其他人所提到的,ECMAScript 的 JScript 实现在现代 Windows 安装中默认可用。扩展名为“.js”的文件可以双击执行或使用 cscript.exe 命令在命令行上运行。

我也有同样的需求,但最终找到了一个名为 DeskJS 的应用程序(

https://deskjs.wordpress.com

1
投票

您尝试过

Mozilla XUL & XULRunner

0
投票
FalsyValues

会议的 XUL 研讨会 - link 总有

Nerd

0
投票

由于没有任何内容被解释 - 甚至也没有在虚拟机内即时编译 - Nerd 会生成高效的本机代码,占用空间(非常)小。

© www.soinside.com 2019 - 2024. All rights reserved.