Nodejs学习五

第九章使用express重新构建博客项目

9-1、简介

  1. express是nodejs最常用的web server框架
  2. 框架的定义:让开发变得简单,封装基本的api功能,让开发者更加关注义务功能,框架有一定的流程和标准
  3. express的下载、安装、使用,express中间件机制。
  4. 开发接口、连接数据库、实现登录、日志记录
  5. 分析express的中间件原理

9-2、介绍express

  1. 安装(使用脚手架express-generator)
  2. 初始化代码介绍,处理路由
  3. 使用中间件

安装express

 npm install express-generator -g
express '项目名'
npm install & npm start
cnpm i nodemon cross-env --save-dev
//设置自动启动,和不同配置环境的配置

9-3、介绍express的入口代码

介绍app.js
1、各个插件的作用
2、思考各个插件的实现原理

9-4、演示express如何处理get、post请求

1、在app.js中设置路由,
2、在routers中加子路由和返回的假数据

9-5、express中间件机制

1、app.use
2、next参数

app.use((req, res, next) => {
    console.log('处理404')
    res.json({
        errno: -1,
        msg: '404 not found'
    })
})

app.use里面的函数叫中间件
通过next的执行,一个一个往下执行
(路由加一个函数)

9-6、express介绍总结

1、初始化代码中 ,各个插件的作用(处理post data 处理路由)
2、express如何处理路由
3、express中间件

9-7、express开发接口

  1. 初始化项目,之前的代码可以复用过来
  2. 开发路由,并实现登录
  3. 记录日志
  4. 安装插件(mysql、xss)

9-8、express登录

  1. 使用express-session和connect-reids插件
  2. req.session保存登录信息,登录校验做成express中间件
  3. cnpm i express-session --save
  4. cnpm i redis connect-redis --save

9-8、登录中间件

const ErrorModel = require('../model/resModel')

module.exports = (req, res, next) => {
    if (req.session.username) {
        next()
        return
    }
    res.json(
        new ErrorModel('未登录')
    )
}

9-8、开发路由

  • 在管理中心中,如果req.session.username == null,否则强制查询自己的博客
  • 登录校验中间件单独提出去
  • 实现增删改查

9-9、日志

  • access log记录,直接使用脚手架推荐的morgan(记录一些访问信息)
  • 自定义日志,使用console.log和console.error即可

总结:

  • 写法上的改变,如req.query,res.json
  • 使用express-session ,connect-redis,登录中间件(loginCheck做中间件)
  • 使用morgan记录日志,设置一些格式,通过配置把一些内容输出到控制台

9-10、express中间件原理
中间件怎么运作的
1、回顾中间件的使用
2、分析如何实现
3、代码演示
分析:

  • app.use先注册(get、post),先收集起来,兼容有俩个中间件的情况
  • 遇到http请求,根据path和method判断触发哪些
  • 实现next机制,即上一个通过next触发下一个

中间件的本质就是一个函数,在收到请求和返回相应的过程中做一些我们想做的事情。

  • 执行任何代码。
  • 修改请求和响应对象。
  • 终结请求-响应循环。
  • 调用堆栈中的下一个中间件。

自己实现的代码:

  • 监听端口号
  • 找到匹配的路由,一个一个压入中间件栈中,找到第一个匹配
  • 的中间栈取出执行。

express总结

  • 使用框架的好处
  • express的使用和路由处理,操作session redis 日志等
  • express 中间件的使用和原理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值