我可以 运行 没有 --harmony 标签的 Koajs

Can I run Koajs without the --harmony tag

自从 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 标签吗?

谢谢!

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

目前他们正在开发支持 ES6 的 V2.*。您可以在 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 一旦稳定将合并到 master 分支中,只有 npm install koa 可以工作。但对于我想要的,npm install koa@next -save 工作得很好 :)