2016-04-18 11 views
1

Ich habe folgendes TyposkriptKnoten nicht in der Lage zu laufen kompiliert Typoskript

var foo = (...myParams) => { 
    for (var i = 0; i < myParams.length; i++){ 
     console.log(myParams[i] + " "); 
    } 
}; 

foo('a', 'b', 'c'); 

jedoch, wenn es kompiliert von WebStorm Fehler im kompilierten Code findet:

WebStorm errors

und wenn es Rune von Knoten , Knoten erkennt den Restausdruck nicht.

C:\PluralSight\TypeScript>node rest-parameter.js 
C:\PluralSight\TypeScript\rest-parameter.js:5 
var foo = (...myParams) => { 
      ^^^ 

SyntaxError: Unexpected token ... 
    at exports.runInThisContext (vm.js:53:16) 
    at Module._compile (module.js:414:25) 
    at Object.Module._extensions..js (module.js:442:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:311:12) 
    at Function.Module.runMain (module.js:467:10) 
    at startup (node.js:136:18) 
    at node.js:963:3 
+0

http://kangax.github.io/compat-table/es6/ –

+1

@squint Coole Verbindung. Node unterstützt sie einfach nicht. C'est la vive. – BanksySan

+0

@BanksySan, wenn Sie Typoskript in [Ziel ES5] ändern (https://www.typescriptlang.org/docs/handbook/compiler-options.html) wird es funktionieren –

Antwort

3

Als eine Randnotiz in Bezug auf Knoten.

Es unterstützt Rest-Parameter in 5.x-Version. Sie sind nicht standardmäßig neben vielen anderen Es6 Goodies aktiviert.

Um sie zu aktivieren Knoten mit --harmony Parameter ausführen oder wenn einige der Features noch in Arbeit sind - aktivieren Sie sie explizit mit entsprechenden Flags. Zum Beispiel:

node --harmony --harmony_default_parameters app.js 

den folgenden Befehl verwenden alle diese 'in progress' diejenigen zu sehen:

node --v8-options | grep 'in progress' 
+0

Sollte 'node --harmony --harmony_default_parameters'' node --harmony --harmony_rest_parameters' sein? – BanksySan

+0

Gibt es eine Möglichkeit, all die neueste Technologie zu aktivieren? – BanksySan

+0

Nein - für Ruhe-Parameter ist es genug, --harmony zu haben. Da sie nicht "in Arbeit" sind. Um also die blutende Kante zu benutzen, werden - harmony und alle 'in progress' Params (es sind nicht so viele) manuell spezifiziert – Amid

Verwandte Themen