生成项目

  1. $ npm i -g koa-generator
  2. $ koa2 mvc
  3. $ cd mvc
  4. $ nrm use cnpm
  5. $ npm i

至此准备完事儿

  1. $ npm start

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

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

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

app.js

  1. // logger
  2. app.use( (ctx, next) => {
  3. const start = new Date();
  4. return next().then(function(){
  5. const ms = new Date() - start;
  6. console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
  7. });
  8. });

另外routes/index.js

  1. var router = require('koa-router')();
  2. router.get('/', function (ctx, next) {
  3. ctx.state = {
  4. title: 'koa2 title'
  5. };
  6. return ctx.render('index', {
  7. });
  8. })
  9. module.exports = router;

为啥要用common function写法么?