2016-07-09 22 views
2

Ich versuche ein Projekt mit Koa 2 und Node 6.3 einzurichten und ich möchte die fehlenden ES6/ES7 Features in Node mit Babel ausfüllen. Das ist mein Set up jetzt:Einrichten von Koa 2 mit Knoten 6.3

ich folgende npm Pakete installiert haben:

"babel-preset-node6": "^11.0.0", 
"babel-register": "^6.9.0", 
"koa": "^2.0.0", 

Mein .babelrc ist:

{ 
    "presets": [ 
    "node6" 
    ] 
} 

Mein index.js ist:

require('babel-register'); 
require('./app'); 

Und meine app.js ist:

import Koa from 'koa'; 
const app = new Koa(); 

app.use(async (ctx) => { 
    ctx.body = 'Hello world'; 
}); 

app.listen(3000); 

Als ich node index.js laufen bekomme ich den Fehler:

Unexpected token (4:20) 
    2 | const app = new Koa(); 
    3 | 
> 4 | app.use(async (ctx) => { 
    |     ^
    5 |  ctx.body = 'Hello world'; 
    6 | }); 

Da Node 6.3 bereits nativ 93% aller ES6 Funktionen unterstützt, ist mein Ziel ist es, die erforderliche Mindest Babel Pakete zu haben, in die füllen fehlende Funktionen von ES6 und ES7. Ich denke, ich vermisse ein Plugin, um die Unterstützung für Async auszufüllen, aber ich bin mir nicht sicher, welches.

Antwort

2

Ich musste das transform-async-to-generator Plugin installieren, wie es here erklärt wird.

+0

Sie könnten auch 'babel-preset-stage-3' installieren, die das automatisch installiert (und mehr, denken Sie wie ein Paket), mehr Infos hier https://babeljs.io/docs/plugins/preset-stage -3/ –