我可以在没有–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
工作:)