【发布时间】:2021-05-15 05:12:00
【问题描述】:
目前我正在尝试从 JS 获取 Ruby 中 Hash 格式的内容。
我有一个类似这样的 JS 模块
module.exports = {
key1: "val",
key2: {
key3: "val3"
}
...
}
这只是一个字符串。我知道 ExecJS 在这里可能会有所帮助,但我不确定将其转换为 Hash 的最佳方法是什么。
我目前正在尝试做这样的事情
contents.prepend("var module = {exports: {}};\n")
context = ExecJS.compile contents
context.eval('module.exports').to_hash
但是当给它一个像上面这样的字符串时,我从 JSON gem 中得到一个解析错误。
【问题讨论】:
-
是否有很多这样的文件要处理?您可以复制粘贴内容并将
module.exports =替换为一些Ruby 变量名。如果有很多文件,可以进行查找和替换。我想您可以使用 Node 评估它们,然后也将输出转储到文件中。 -
@maxpleaner 它是更大文件摄取系统的一部分,因此数量未知
标签: javascript ruby-on-rails ruby execjs