使用脚手架koa-generator 创建koa2项目:
全局安装koa-generator
npm install -g koa-generator
创建项目:
koa2 test2
进入test2文件夹
然后运行npm install
koa2 与nodejs代码对比
- koa2封装原生代码的API
- 规范流程和格式
例子
// 演示 koa2 中间件的洋葱模型
const Koa = require('koa')
const app = new Koa()
//logger
app.use(async (ctx, next) => {
await next(); // 执行下一个中间件
const rt = ctx.response.get('X-Response-Time') // 获取 时间差
console.log(`${ctx.method} ${ctx.url} - ${rt}`);
})
// x-response-time
app.use(async (ctx, next) => {
const start = Date.now();
await next(); // 执行下一个中间件
const ms = Date.now() - start; // 计算时间差 例如 80
ctx.set('X-Response-Time', `${ms}ms`); // 记录/设置 时间差
})
// response
app.use(async (ctx, next) => {
ctx.body = 'Hello world';
})
app.listen(3000);
console.log('koa2 已经开始监听 3000 端口');
中间件就是一个流程中的各个业务模块,可扩展
koa2中使用了哪些中间件(app.js)
持续更新中......