Node.js是在2009年Ryan正式推出了基于JavaScript语言和V8引擎的开源Web服务器项目。
Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。 通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。
如何开始? 附上koa的官网: koa
我们可以在本地建一个新的目录demo, 当然首先要装node.js, 具体可以到node.js的官网查看安装的步骤。
mkdir demo
cd demo
npm init -y
npm i koa --save
在目录中,新建一个文件index.js,如下代码,就是启动了一个http服务器。
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
运行node index.js,打开浏览器输入localhost:3000,就可以看到hello world.
在看一个例子,洋葱圈的中间件模型,
const Koa = require('koa');
const app = new Koa();
// logger
app.use(async (ctx, next) => {
console.log(1);
await next();
console.log(5);
const rt = ctx.response.get('X-Response-Time');
console.log(`${ctx.method} ${ctx.url} - ${rt}`);
});
// x-response-time
app.use(async (ctx, next) => {
console.log(2);
const start = Date.now();
await next();
console.log(4);
const ms = Date.now() - start;
ctx.set('X-Response-Time', `${ms}ms`);
});
// response
app.use(async ctx => {
console.log(3);
ctx.body = 'Hello World';
});
app.listen(3000);
如上图, 最终输出是 1-2-3-4-5, 具体实现可以看koa-compose.
网友评论