Nodejs学习六

第十章使用Koa2重新构建博客项目

10-1、开始

  • express中间件是异步回调,koa2原生支持async/await
  • 新开发的框架基于koa2,比如阿里的egg.js
  • express 虽然未过时,但是koa2肯定是未来趋势

async await

  • await后面可以追加promise对象
  • await必须包裹在async函数里面
  • async 函数执行,返回的还是一个promise对象
  • 用try catch截获promise中reject的值

10-2、介绍koa2

  • 安装(使用脚手架)
  • cnpm install koa-generator -g
  • koa2 blog-koa2
  • cnpm install
  • cnpm i cross-env --save-dev设置环境参数
  • cnpm run dev
  • 初始化代码处理路由

10-3、介绍路由

  • 在routes中配置路由,在app.js中引入

10-4、介绍中间件

  • 有很多app.use

  • 代码中的next参数是什么?

  • app.use去注册中间件

  • 中间件的格式都是async的格式

  • next往下执行

  • next都是返回一个promise格式

  • await一个promise

10-5、实现session

  • 实现登录(session)
  • 开发路由
  • 记录日志
  • 基于koa-generic和koa-redis
  • cnpm i koa-generic-session koa-redis redis --save
  • 在app.js中做sessin的配置

10-6、开发路由之准备工作

  • 复用之前的代码,如Mysql、登录中间件、controller、model
  • 初始化路由、并开发接口
  • 联调测试
  • cnpm i mysql xss --save
  • 包括复用之前的数据库连接,复用sql连接node,并修改为async await语法
  • 复用中间件、复用密码加密、复用REDIS_CONF

10-7、开发路由之代码演示

复用express中的blog路由和user路由,并且修改为async await形式的

10-8、开发路由之联调

使用nginx和前端联调

10-9、开发路由之日志

  • access log记录,使用morgan
  • 自定义日志使用console.log和console.error
  • 日志文件拆分,日志内存分析
  • koa-logger的意义是使得在开发环境中get、post请求打印的更加好看
  • 使得morgan可以使用在koa2这个环境中
  • cnpm i koa-morgan --save
  • 线上环境路由写在文件中,开发环境路由写在控制台中

10-9、中间件原理分析

  • 回顾中间件的使用
  • 分析如何实现
  • 代码演示
  • 用官网中的例子
  • mkdir koa2-test
  • cnpm init -y
  • cnpm i koa --save
  • app.use用来注册中间件
  • 实现next机制,即用上一个next触发下一个
  • 不涉及method和path的判断

10-10、中间件用js模拟实现

  • 组合中间件
  • 不涉及method和url
  • use注册
  • ctx实现

总结:

  • 使用async 和await的好处,代码简洁
  • koa2的使用,操作session、redis、日志
  • 中间件的使用和原理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值