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

时间:2015-12-14 14:26:36

标签: javascript node.js express koa

由于iojs合并到Node中。我假设我可以在没有--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代码吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我很惊讶我没有在网上遇到更多有关此问题的问题。无论如何,我已经让它在没有--harmony标志的情况下工作了。

目前他们正致力于V2.*,并获得ES6支持。您可以在V2分支https://github.com/koajs/koa下的git仓库中找到它。

因此,您需要npm install koa@next -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 koa@next -save工作正常:)