2015-12-14 34 views
5

由於iojs合併到Node中。我認爲我可以在沒有--harmony標記的情況下運行koajs(因爲它將支持es6的生成器)。我可以在沒有--harmony標籤的情況下運行Koajs

所以我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標籤嗎?

謝謝!

+0

我還注意到另一件事,是有網站自v0.11節點以來沒有更新。有誰知道它是否沒有被放棄? :/ – PourMeSomeCode

回答

1

我很驚訝我沒有在網上找到關於此問題的更多問題。無論如何,我沒有--harmony國旗工作。

目前他們正在開發有支持ES6的V2.*。你可以在他們的git repo上找到V2分支https://github.com/koajs/koa

所以你需要npm install [email protected] -save搶最新的當前是"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 [email protected] -save工作正常:)

相關問題