2016-07-10 11 views
0

während V8 Aufruf :: Context # load, klagt therubyracerunter Verwendung von parallelen Array Zuordnung mit therubyracer

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

Das var [ who in der Mitte dieser Funktion endet als:

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) 
... 

Es complaing über die Verwendung von eine Destrukturierung Array-Zuordnung, wie folgt:

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

Ich sehe, dass l ater Versionen V8 dies unterstützen (Array destructuring assignment not working in v8 with harmony option in Node.js), aber wenn ich gem 'libv8', '~> 5.1', '>= 5.1.281.59.1' in meinem Gemfile setzen, dann bundler sagt mir weg von Buss:

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) 

ich therubyracer Github Seite schauen und sehen, vor einem Jahr das letzte Update, und nur dann für v8 4.5, und es sieht so aus, als würde es nicht gut laufen.

Sooo .... Ich denke, ich bin auf die Verbesserung V8 abgespritzt, oder?

Wer weiß, wie man das --harmony_restructuring Flag an den bestehenden V8 übergeben?

Antwort

2

libv8 Betreuer hier.

Leider therubyracer ist inkompatibel mit Versionen von V8 größer als 3,16 an dieser Stelle.

Wenn Sie es nur als JS-Laufzeitumgebung für die Asset-Kompilierung verwenden, sollten Sie stattdessen den brandneuen mini_racer verwenden.

Als Nebenbemerkung sollten Sie die Betreuer eines Projekts zuerst direkt über den Issue Tracker fragen, bevor Sie eine Frage in SO erstellen. Ihre Frage wäre wahrscheinlich unbeantwortet geblieben, wenn ich nicht zufällig nach neuen Fragen zu libv8 gesucht hätte.