1

从文档和指南中我不清楚 Opal 是否可行:

我编写了一个构建器 gem,它实现了一个 API 来构建一个对象树,然后将其写入 XML(或者准确地说是 AIXM,一种航空格式)。当前存在运行时依赖项,但我可以摆脱这些依赖项。

有一个关于为 Opal 配置 gems 的指南,但是,是否可以在 JavaScript 项目中使用 opalized gem?或者将其转换为 Node 包?

4

1 回答 1

0

我们目前正在设计一个好的 NPM 集成。但就目前而言,是的。您可以将 Opal 项目构建为 .js(或 .mjs)文件并在 Node 环境中使用它。

但是有一个问题:Opal​​ 在 JS 环境中表现不佳,因为它定义了全局变量、修改原型等 - 它可能会造成混乱,尽管多年来大多数不兼容问题都已解决(无论如何,您可以考虑运行WebWorker 中的蛋白石代码)。这里的主要问题是这样的包会无意中包含 opal corelib - 您应该注意只包含一次。因此,应用程序的 Opal 部分应该一起编译,而不是拆分成多个包。我们将在接下来的几个月内努力纠正该问题。

至于从 JS 连接 Opal,你应该看看这个:https ://github.com/opal/opal/blob/master/docs/compiled_ruby.md#ruby-from-javascript

于 2021-12-28T23:25:57.070 回答