真正的勇气不是无所畏惧,而是即使害怕的要死,也要勇敢面对
文章目录
- Express
- 中间件介绍和语法
Express
- 简介
- express是一个第三方模块,用于快速搭建服务器
- express是一个基于node.js 平台,快速、开放、极简的 web 开发框架
- express保留了http模型的基本API,使用express的时候,也能使用http的API
- express还额外封装了一些新方法,能让我们更方便的搭建服务器
- express提供了中间件功能,其它很多强大的第三方模块都是基于express开发的
- 安装
- 项目文件夹中执行
npm i express
注意:express不能安装在express文件夹中,否则安装失败
- 项目文件夹中执行
- 使用express构造web服务器步骤
- 加载express模块
- 创建express服务器
- 开启服务器
- 监听浏览器请求并进行处理
// 1) 加载 express 模块 const express = require('express') // 2) 创建 express 服务器 const app = express() // 3) 开启服务器 app.listen(3006, () => console.log('express服务器开始工作了')) // 4) 监听浏览器请求并进行处理 app.get('GET请求的地址', 处理函数) app.post('POST请求的地址', 处理函数)
- express封装的新方法
- express
express.static()
开放静态资源express.urlencoded()
获取post请求
- app
app.get()
处理客户端的GET请求app.post()
处理客户端的POST请求app.use()
设置应用级别的中间件
- req
req.body()
获取POST请求体req.params
获取GET请求动态参数req.query
获取GET请求参数(获取查询字符串参数)
- res
res.sendFile(文件的绝对路径)
读取文件,并将结果响应res.set({name, value})
设置响应头res.status(200)
设置响应状态码res.send(字符串或对象)
响应结果res.json(对象)
以json格式响应结果res.jsonp()
以jsonp格式响应结果
注意:在express中,我们仍然可以使用http模块中的方法
- express
中间件介绍和语法
- 介绍
- 中间件(Middleware ),特指业务流程的中间处理环节
- 中间件,是express最大的特色,也是最重要的一个设计
- 很多第三方模块,都可以当做express的中间件,配合express,开发更简单
- 一个express应用,是由各种各样的中间件组合完成的
- 中间件本质上就是一个函数
- 语法
- 中间件函数中有四个基本参数:
err、req、res、next
- 很多情况下,err都会省略
- req就是请求相关的对象
- res就是响应相关的对象
- next:它是一个函数,某些时候可以省略
- 把写好的中间件函数传递给
app.get()
、app.post()
或app.use()
使用// app.get('/api/getbooks', 中间件函数) app.get('/api/getbooks', (req, res) => { })// app.use([path], 中间件函数) app.use((req, res, next) => { })app.use('/my', (req, res, next) => { })
- 中间件函数中有四个基本参数:
- 特点
- 每个中间件函数,共享req对象,共享res对象
- js代码中,所有的req对象是一个对象,所有的res是一个对象
- 不调用
next()
,则程序执行到当前中间件函数后,不再向后执行- 注意中间件的顺序,因为有可能顺序原因,中间件函数不会执行
- 为了防止代码逻辑混乱,调用next()函数后不要再写额外的代码
- 客户端发送过来的请求,可能连续调用多个中间件进行处理
- 使用
app.use()
注册的中间件,GET和POST请求都可以触发
// 自定义中间件函数,统一处理跨域 app.use((req, res, next) => {// 为后续所有的接口设置响应头,解决跨域问题res.set({'Access-Control-Allow-Origin': '*'});next() })
- 每个中间件函数,共享req对象,共享res对象