【问题标题】:using parallel array assignment with therubyracer使用 therubyracer 并行数组赋值
【发布时间】:2016-07-10 05:48:47
【问题描述】:

调用 V8::Context#load 时,therubyracer 抱怨

Unexpected token [ at /home/dm/contra/app/assets/javascripts/libfigure/figure.js:120:10

最后在这个函数的中间是var [ who

function allemande_orbit_view(move,pvs) {
    var who = pvs[0]
    var [ who, dir, inner_angle, outer_angle, beats] = pvs
    var [swho,sdir,sinner_angle,souter_angle,sbeats] = parameter_strings(move, pvs)
...

它抱怨使用解构数组赋值,像这样:

var [a,b] = [5,6]

我看到更高版本的 V8 支持此功能 (Array destructuring assignment not working in v8 with harmony option in Node.js),但如果我将 gem 'libv8', '~> 5.1', '>= 5.1.281.59.1' 放入我的 Gemfile,那么 bundler 会告诉我关闭:

Bundler could not find compatible versions for gem "libv8":
  In Gemfile:
    libv8 (>= 5.1.281.59.1, ~> 5.1)

    therubyracer was resolved to 0.12.2, which depends on
      libv8 (~> 3.16.14.0)

我查看了 therubyracer 的 github 页面,看到了一年前的最后一次更新,然后才更新到 v8 4.5,看起来进展不顺利。

Sooo.... 我想我已经迫不及待想要升级 V8 了,对吧?

有人知道如何将--harmony_restructuring 标志传递给现有的 V8 吗?

【问题讨论】:

    标签: javascript ruby-on-rails-4 v8 therubyracer


    【解决方案1】:

    libv8 维护者在这里。

    很遗憾,therubyracer 目前与高于 3.16 的 V8 版本不兼容。

    如果您只是将它用作资产编译的 JS 运行时,您应该考虑改用全新的 mini_racer

    作为旁注,您应该考虑先直接询问项目的维护人员,例如通过他们的问题跟踪器,然后再在 SO 中提出问题。如果我不是偶然在此处查找有关 libv8 的最新问题,您的问题可能仍然没有答案。

    【讨论】:

      猜你喜欢
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      • 2021-03-15
      • 2016-10-19
      • 1970-01-01
      相关资源
      最近更新 更多