0
......\node_modules\koa\lib\response.js:47
const { res } = this;
      ^

SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (......\node_modules\koa\lib\application.js:11:18)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)

当我开始我的 koa 演示时,控制台会显示这个。
节点版本:v4.4.7
“koa”:“^2.2.0”
这是我的 entry.js:

const Koa = require('koa');
const app = new Koa();

app.use(ctx => {
  ctx.body = 'Hello Koa';
});

app.listen(3000);

在我删除 response.js:47 和 context.js:124 中的 {} 之后

const res = this;

一切正常。我不知道为什么。

4

1 回答 1

0

因为const res = this;仅仅意味着常量变量 res 等于这个但是 const { res } = this;对象解构(http://exploringjs.com/es6/ch_destructuring.html)它是相等的const res = this.res;所以如果this没有属性 res 你会收到错误。

于 2017-05-10T14:04:32.060 回答