一、学习内容
1、express中间件概述
express 是一个中间件组成的框架。 每一个 app.get / app.post 都是一个中间件 当 app.get / app.post 的回调函数有参数 3 (==next==)。调用 next 方法时,执行完当前中间件就会执行下一个中间件 中间件是从上向下执行的,编写中间件时必须==注意中间件的调用顺序==
2、app.use方法
使用格式: app.use(url, callback)
app.use( (req, res, next) => {}): 未设置参数 1,则会监听所有的浏览器请求;不论 get 请求还是 post 请求,也不管请求的 url 地址是什么都会执行。 app.use('/index', (req, res, next) => {}): 只监听 url 为 /index 的请求,get 和 post 请求都监听
3、中间件类别
express有5种中间件类别
应用级别的中间件: 挂载到 app 上的中间件,例如:app.use()、app.get()、app.post() 路由级别的中间件: 挂载到 router 对象上的中间件,例如:router.get()、 router.post() 错误级别的中间件: 回调函数中,有四个参数 app.use((err, req, res, next)=>{}) 内置中间件: express.static() , express 提供的唯一内置中间件 第三方中间件: express 框架提供的,需要程序员手动安装才能使用的中间件;body-parser 解析 post 表单数据
4、JS中的单线程和异步
Javascript 的解析和执行一直是单线程的,但是==宿主环境(浏览器或 Node)==是多线程的 每执行一个异步任务,宿主环境就是开启一个子线程来执行 异步任务是由宿主环境开启子线程完成,并通过事件驱动、回调函数、队列,把完成的任务, 交给主线程执行; Javascript 解析引擎,一直在做一个工作,就是从任务队列里提取任务,放到主线程里执行。
|