2016-04-05 76 views
10

Ho installato l'ultimo NodeJS e per qualsiasi file JavaScript, posso eseguirlo con node myscript.js ma recentemente sto imparando es6 e per alcune delle ultime sintassi, è saltato fuori alcuni errori/eccezioni durante l'esecuzione. Ho provato babel-cli, ma non sembra funzionare come lo è per la compilazione da es6 a 5 non per l'esecuzione da riga di comando.come eseguire gli script es6 dalla CLI

+0

dipende dalle funzioni utilizzate, l'ultimo nodo ha un supporto ES6 valido ma parziale (nessun modulo ad esempio). Se si desidera utilizzare il nodo, provare babel-node https://babeljs.io/docs/usage/cli/ – Hitmands

+0

un posto migliore per giocare con es6: https://babeljs.io/repl/ – JordanHendrix

risposta

24

1) Per attivare il supporto di ES6, usano il flag --harmony:

node --harmony myscript.js 

Ciò consentirà la sintassi ES6 disponibile nel nodo. Ma si noti che è attualmente un sottoinsieme limitato dello standard ES6 (vedere lo compatibility table).

2) Per avere una compatibilità completa, è necessario utilizzare babel cli.
Babel viene fornito con un CLI babel-node che funziona esattamente come la CLI di Node.js, solo esso compilerà il codice ES6 prima di eseguirlo.

babel-node myscript.js 
+1

Ecco una tabella di compatibilità che mostra quali caratteristiche di es6 sono disponibili in diverse versioni del nodo: https://kangax.github.io/compat-table/es6/ – HeadCode

+1

Ho installato Babel-Cli a livello globale e provo a eseguire il file con il seguente contenuto: var [a , b, c] = [1, 2, 3, 4]; console.log (a, b, c); ha detto errore di sintassi, ma non dovrebbe trattarsi di una semplice destrutturazione di es6? – photosynthesis