express框架
express框架:
Express 是一个基于 node平台的Web应用开发框架,它提供了一系列的强大特性,帮助你创建各种Web应用。
Express 框架特性:
- 提供了简洁的路由定义方式
- 对获取 http 请求参数进行了简化处理
- 对模板引擎支持程度高,方便渲染动态HTML页面
- 拥有中间件机制有效控制 HTTP 请求
- 拥有大量第三方中间件对功能进行扩展
express的使用:
// 引入 express 框架 const express = require('express') // 创建网站服务器 const app = express(); app.get('/', (req, res) => { // send() // 1. send 方法内部会检测响应内容的类型 // 2. send 方法会自动设置 http 状态码 // 3. send 方法还会帮我们自动设置响应的内容类型以及编码 res.send('Hello Express'); }) app.get('/list', (req, res)=> { // 向客户端直接响应一个对象 res.send({name: 'zhangsan', age: 20}); }) // 监听端口 app.listen(3000); console.log('网站服务器启动成功');
中间件:
Express框架中一个非常重要的概念——中间件。在Express框架中,允许通过中间件
的使用来调用各种第三方类库,这让我们的开发工作变得更为方便,也使得我们可以开发出
各种更为强大的应用程序。一个中间件是一个用于处理客户端请求的函数。一个HTTP服务器
中可能会使用到各种中间件。当接收到一个客户端请求时,首先将该请求提交给第一个中间件
函数,每一个中间件函数内部封装一个next回调函数,在一个中间件函数内部可以判断是否调
用next回调函数来处理该客户端请求。中间件可以理解为业务流程的中间处理环节。
基本语法:function middleware(req,res,next){next()}
中间件可以分类可分如下几类
- 内置中间件 也就是express本身自带无带npm安装
- 第三方中间件
非 Express 官方内置的,而是由第三方开发出来的中间件,叫做第三方中间件。在项目中可以
通过npm进行安装第三方中间件并配置,从而提高项目的开发效率。例如body-parser 此中间件
可以很方便帮助我们获取到post提交过来的数据。自定义中间件 开发者自己编写的。
自定义中间件,其本质就是定义一个处理请求的函数,只是此函数中除了有request和response参
数外还必须包含一个next参数,此参数作用让中间件能够让流程向下执行下去直到匹配到的路由
中发送响应给客户端。也可以通过给request对象添加属性来进行中间件数据的向下传递。
function mfn(req,res,next){ // 中间件最后一定要执行此函数,否则程序无法向下执行下去 next() }