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快速上手(电商平台数据可视化实时监控系统)的主要内容,如果未能解决你的问题,请参考以下文章

后台项目初步(电商平台数据可视化实时监控系统)

细节处理(电商平台数据可视化实时监控系统项目)

谈谈跨境电商系统是怎样的

Vue.js+Koa2移动电商实战4

koa2 快速上手

Thinkphp 5.0 仿百度糯米开发多商家电商平台