StuQ Koa在线课程

生成项目

$ npm i -g koa-generator
$ koa2 mvc
$ cd mvc
$ nrm use cnpm
$ npm i

至此准备完事儿

$ npm start

然后打开http://127.0.0.1:3000/,测试koa

打开代码,说明一下koa2的代码结构,并点评async,如何替换成其他写法。

修改2处,使得async写法,变为commonfunction形式

app.js

// logger
app.use( (ctx, next) => {
  const start = new Date();
  return next().then(function(){
    const ms = new Date() - start;
    console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
  });
});

另外routes/index.js

var router = require('koa-router')();

router.get('/', function (ctx, next) {
  ctx.state = {
    title: 'koa2 title'
  };

  return ctx.render('index', {
  });
})
module.exports = router;

为啥要用common function写法么?