koa2快速上手(电商平台数据可视化实时监控系统)
Posted So istes immer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了koa2快速上手(电商平台数据可视化实时监控系统)相关的知识,希望对你有一定的参考价值。
目录
1. koa2简介
①基于node.js的web开发框架
②由express原班人马打造
express、koa、koa2三者异步处理的方式不同
express - 回调函数
koa - Generator + yield
koa2 - async/await
③环境依赖Node v7.6.0及以上
2. koa2特点
①支持async/await
②洋葱模型的中间件
3.快速上手
①检查Node环境
②安装Koa
npm init -y 创建package.json文件,存放项目的详细信息
npm install koa
③创建并编写app.js文件
a、创建koa对象
b、编写响应函数(中间件)
c、监听端口
④启动服务器
node app.js
app.js
//1.创建koa对象
const Koa = require('koa')
const app = new Koa()
//2.编写响应函数(中间件)
// ctx 上下文,web容器,ctx.request ctx.response
// next: 下一个中间件,下一层中间件是否能够得到执行,取决于next这个函数有没有被调用
app.use((ctx, next) => {
console.log(ctx.request.url)
ctx.response.body = 'hello world'
})
//3.绑定端口号
app.listen(3000)
服务端打印的两行
第一行来源于我发出的请求127.0.0.1:3000/
第二行的/favicon.ico其实是浏览器自动发出的请求,请求我上面圈起来的这个图标
3.中间件特点
①Koa对象通过use方法加入一个中间件
②一个中间件就是一个函数
③中间件的执行顺序符合洋葱模型
④内层中间件能否执行取决于外层中间件的next函数是否调用
const Koa = require('koa')
const app = new Koa()
//第一层中间件
app.use((ctx, next) => {
console.log('第一层中间件...1')
next()
console.log('第一层中间件...2')
})
//第二层中间件
app.use((ctx, next) => {
console.log('第二层中间件...1')
next()
console.log('第二层中间件...2')
})
//第三层中间件
app.use((ctx, next) => {
console.log('第三层中间件')
})
app.listen(3000)
⑤调用next函数得到的是Promise对象
const Koa = require('koa')
const app = new Koa()
//第一层中间件
app.use((ctx, next) => {
console.log('第一层中间件...1')
next()
console.log('第一层中间件...2')
})
//第二层中间件
app.use((ctx, next) => {
console.log('第二层中间件...1')
const ret = next()
console.log(ret)
console.log('第二层中间件...2')
})
//第三层中间件
app.use((ctx, next) => {
console.log('第三层中间件')
return 'I love you'
})
app.listen(3000)
想拿到promise包裹的数据,可以用async/await
//其它代码不变
//第二层中间件
app.use(async (ctx, next) => {
console.log('第二层中间件...1')
const ret = await next()
console.log(ret)
console.log('第二层中间件...2')
})
以上是关于koa2快速上手(电商平台数据可视化实时监控系统)的主要内容,如果未能解决你的问题,请参考以下文章