Node.js 6.x async / await在Babel所需的库中

时间:2017-04-04 21:34:44

标签: babel koa

出于某种原因,我应该使用Node.js 6.x(实际上是6.10.0),我正在尝试使用Babel运行koa2,如here所述。我的代码看起来像这样

const Koa = require('koa');
var app = new Koa();

// --- middlewares ---
async function a(){await 1} // okay here!
console.log(a());
const serve = require('koa-static');
app.use(serve('./web'));
app.use(require('koa-cookie').default());
app.use(require('koa-bodyparser')()); // fails here

我收到错误

D:\Project\node_modules\koa-bodyparser\index.js:72
  return async function bodyParser(ctx, next) {
               ^^^^^^^^
SyntaxError: Unexpected token function

在Windows上使用nodemon index.js --exec babel-node运行节点 在Node 7.x上工作得很完美,但不幸的是我需要使用6 :(

1 个答案:

答案 0 :(得分:3)

Node.js 6.x中尚不支持

asyncawait。它们是ES2017的功能,仅在Node 7.6 +。

中受支持

您正在使用的Babel预设显然无法正常工作 - 请确保您按照Babel网站上的instructions使用正确的babel预设(ES2017)。