我可以在没有–harmony标签的情况下运行Koajs吗?

自iojs合并到节点。 我假设我可以在没有–harmony标签的情况下运行koajs(因为它将支持es6的生成器)。

所以在我的server.js文件中我有:

 var koa = require('koa'); var app = koa(); app.use(function *(){ this.body = 'Hello World'; }); app.listen(3000); 

我的package.json文件有"koa": "^1.1.2"

我运行node server.js并得到:

 app.use(function *(){ ^ SyntaxError: Unexpected token * 

任何想法,为什么它抱怨? 我还需要使用--harmony标签吗?

谢谢!

我很惊讶,我没有在网上遇到更多的问题。 无论如何,我没有--harmony旗帜的工作。

目前他们正在开发支持ES6的V2.* 。 你可以在V2分支https://github.com/koajs/koa上的git repo上find它。

所以你需要npm install koa@next -save来抓取当前是"koa": "^2.0.0-alpha.3"的最新版本"koa": "^2.0.0-alpha.3"

为了确保它能正常工作,你可以把它快速的扔到index.js文件中,然后运行node index.js

 const Koa = require('koa'); const app = new Koa(); // logger app.use((ctx, next) => { const start = new Date; return next().then(() => { const ms = new Date - start; console.log(`${ctx.method} ${ctx.url} - ${ms}ms`); }); }); // response app.use(ctx => { ctx.body = 'Hello World'; }); app.listen(3000); 

V2一旦稳定就会合并到主分支中,只需要npm install koa 。 但为了我想要的, npm install koa@next -save工作:)