JavaScript 编程语言的高性能实现。基于 Oracle 实验室的 GraalVM 构建。
GraalVM JavaScript的目标是
- 以最好的性能执行 JavaScript 代码
- 完全兼容最新的 ECMAScript 规范。
- 支持 Node.js 应用,包括原生包(检查)
- 允许从基于 Nashorn 或 Rhino 的应用程序进行简单的升级。
- 与 Java、Scala 或 Kotlin,或与其他 GraalVM 语言(如 Ruby、Python 或 R)的快速互操作性。
- 可嵌入到 Oracle RDBMS 或 MySQL 等系统中。
入门
请参阅 GraalVM 网站 上的文档,了解如何安装和使用 GraalVM JavaScript。
$ $GRAALVM/bin/js > print("Hello JavaScript"); Hello JavaScript >
运行 GraalVM JavaScript 的首选方式是在 GraalVM 上运行。如果你喜欢在普通的 JVM 上运行,请看一下 RunOnJDK.md
中的文档。
文档
在 graalvm.org 上有广泛的文档:如何 运行 JavaScript
和更广泛的 JavaScript 及 Node.js 参考手册
。此外,在 docs
文件夹下的源代码库中也有针对引擎 用户
和 贡献者
的文档。
对于贡献者来说,可以在 Building.md
中找到如何从源代码构建 GraalVM JavaScript 的指南。
当前状态
GraalVM JavaScript 与 ECMAScript 2020 规范兼容。从 GraalVM 20.1.0 开始,ECMAScript 2020 是默认的兼容级别。新的功能,例如计划在未来版本中落地的 ECMAScript 提案,会被频繁添加。
此外,还支持其他引擎的一些流行扩展,请参见 ECMAScript 2020 specification。
GraalVM JavaScript 可以执行 Node.js 应用。它与现有的 npm 包有很高的兼容性,你的应用很有可能在开箱后就能运行。这包括具有本地实现的 npm 包。需要注意的是,如果一些 npm 模块的二进制文件是基于 V8 的 Node.js 编译的,则需要用 GraalVM JavaScript 从源头重新编译。Node.js 支持只在完整的 GraalVM 版本中提供,但在独立的 GraalVM JavaScript 发行版中没有。
在操作系统上的兼容性
核心的 JavaScript 引擎是一个 Java 应用,因此原则上可以兼容所有提供兼容 JVM 的操作系统,参见 RunOnJDK.md
。我们目前在 Linux 和 MacOS 上全面测试和支持 GraalVM JavaScript。对于 Windows,我们提供了一个初步的预览版本。
有些功能,包括 Node.js 的支持,目前还没有在所有平台上支持(例如 Windows)。
GraalVM JavaScript 参考手册
GraalVM JavaScript 的参考手册可在 GraalVM 网站 上获得。
与社区保持联系
关于如何与开发社区保持联系,请参见 graalvm.org/community。graalvm.slack.com 上的 graaljs 频道是与我们联系的好方法。
许可证
GraalVM JavaScript 在以下许可证下可用。
(The first version translated by vz on 2020.09.29)