2023 最新 Node.js 系列教程之 Express
https://www.bilibili.com/video/BV1yN4y1S7xU 1
课件: https://www.yuque.com/u295415/xbahyh/qkxc1d7qm2qbezkh?singleDoc# 《express搭建后端服务》 https://www.yuque.com/u295415/xbahyh/wq9ktxzsnt9ov8e6?singleDoc# 《Express中间件》 https://www.yuque.com/u295415/xbahyh/cxqie939709agken?singleDoc# 《Express 路由》
Express概述
ex p les
1.课程介绍和准备
课程概述和学习目标
开发环境设置和准备工作
2.Express基础知识
什么是Express及其特点
Express中间件的概念和使用
路由和请求处理
处理静态文件
错误处理和错误中间件
3.构建RESTful API
API设计和规范
使用Express构建RESTful路由
处理GET、POST、PUT和DELETE请求
参数验证和数据校验
数据库集成和数据操作
4.进阶Express开发
I
使用模板引擎渲染视图
表单处理和文件上传
用户认证和授权
会话管理和Cookie
日志记录和调试技巧
5.测试和部署
单元测试和集成测试
使用Supertest进行API测试
部署Express应用到服务器
使用PM2进行进程管理
性能优化和缓存策略
コ→
·什么是Express?
·官方给出的概念:Express是基于Node.js平台,快速,开放,极简的Web开发框架
.通俗的理解:Express的作用和Node.js内置的http模块类似,是专门用来创建Web服务器的
"express": "^4.18.2"
初识Express
Express路由
Express中的路由
Express中,路由指的是客户端的请求与服务器处理函数之间的映射关系。
express中的路由分3部分组成,分别是请求的类型、请求的URL地址、处理函数,格式如下:
app. METHOD(PATH, HANDLER)
nodemen autoreload
直接返回json 可以diyREstapi
模块化路由
express.router++s
app.use('/user',router) 中间件 +user-prefix
Express 请求参数详解
1.req.query:包含了通过查询字符串传递的参数。查询字符串是 URL 中?后面的参数。你可以通过 req.query 来获取这些参数。例如,对于URL http://example.com/foo?name=John&age=30,req.query.name将返回
"John",req.query.age将返回"30"。查询字符串参数通常用于GET请求2.req.params:包含了通过路由定义的动态路由参数。动态路由参数是通过在路由路径中使用冒号(:)定义的。例如,对于路由路径/user/:id,当发送请求到/user/123时,req.params.id将返回"123"。动态路由参数通常用于根据不同的资源生成不同的响应。
3.req.body:包含了通过请求主体传递的参数。通常用于POST,PUT和DELETE请求中发送数据。为了能够使用req.body,你需要使用一个中间件(例如 body-parser)来解析请求主体。通过 req.body 可以获取传递的数据。
例如,对于一个POST请求,req.body.name将返回提交的名字。
4.req.headers:包含了请求中的头部信息。你可以通过访问req.headers对象的属性,来获取特定的头部信息。例如,req.headers['content-type']将返回请求中的Content-Type头部信息。
query
params
body +插件
Express中间件
洋葱模型...
中间件的作用
多个中间件之间,共享同一份req和res,基于这样的特性,我们可以在上游的中间件中,统一为req或res对象添加自定义的属性或方法,供下游的中间件或路由进行使用。
app.use 全局
局部的 app.get('/',[middle,middle2],(req,res)=>{})
middel(req,res,next){
next()
}
为了方便大家理解和记忆中间件的使用,Express官方把常见的中间件用法,分成了5大类,分别是:
①应用级别的中间件②路由级别的中间件③错误级别的中间件
④Express 内置的中间件
⑤ 第三方的中间件
error middle
app.get((err,res,req,next)=>{err.message})
Express内置的中间件
自Express 4.16.0版本开始,Express内置了3个常用的中间件,极大的提高了Express项目的开发效率和体验:
①express.static 快速托管静态资源的内置中间件,例如:HTML文件、图片、CSS 样式等(无兼容性)
②express.json 解析 JSON 格式的请求体数据(有兼容性,仅在4.16.0+版本中可用)
③express.urlencoded 解析 URL-encoded 格式的请求体数据(有兼容性,仅在4.16.0+版本中可用)
内置中间件s
路由加载之前使用内置中间件
express.json 中间件
8910
//通过express,urlencoded()这个中间件,来解析 表单中的url-encoded格式的数据app.use(express().urlencoded(fextended:false)))
11
Express 访问数据库
免费数据库平台:https://sqlpub.com/
500m
npm install express body-parser cors--save
Node接口实战API
Sequelize orm
stu是数据库的表名DB.define('表名',{字段...}) 对应模型 实体 可以自动生成
Express-Validator表达式校验
express-validator express-validation是一个中间件,它验证请求的body,params,query,headers 和cookies,并且如果任何配置的验证规则失败,返回一个错误的响应官方文档:https://express-validator.github.io/docs/
参数校验
div fs读取 send
pug 直接
ejs
html简化 可以变量 模板
PUG Pug(以前称为Jade)是一种模板引擎1它可以生成HTML代码,它使用缩进和标记语言来创建模板。
以下是Pug模板引擎的基本用法:
ws http
wss https
ws socket.io...
不管客户端还是服务端WebSocket的核心事件分为两类,一类是监听事件、一类是触发事件监听事件
监听事件主要就是以下四类,在服务端跟客户端都通用onOpen:监听连接建立的消息
onMessage:监听双端发送的消息
onClose:监听连接断开的消息onError:监听异常发生的消息
触发事件
触发事件主要就是发送消息跟断开连接需要触发,也是客户端跟服务端都通用send:主动发送消息的事件
close:主动关闭连接的事件
模板引擎的使用
EJS 使用案例讲解
PUG模板引擎
Express Socket通信
Express文件上传
post 请求res.files文件 上传来 然后保存格式 移动到指定目录
if(!req.files II Object.keys(req.files).length==0){
res.status(400).send({
message:'上传失败!',code:500
})
return;fileObject= req.files.file filePath ='./upload/'+ fileobj.name;
//得到具体路径_dirnamek 当前目录
const fileFolder= path.join(_dirname,'./upload/')
//检查 upload 文件夹是否存在,如果不存在则创建if(!fs.existsSync(fileFolder)){
fs.mkdirSync(fileFolder);fileObj.mv(filePath,(err)=>{
if(err){
return res.status(500).send({
code:1,msg:'System error'
});
"expressEfileupload": "^1.4.1", 加入中间件
mutl
文件的下载
res.download(file.path)
流形式 文件路径形式
Sokect通讯服务项目环境搭建
WebScoket 项目逐行分析
Express 项目环境搭建
分页查询和条件查询详解
"multer": "^1.3.0",
请求page+ orm limit offer+1
orm 日子记录
标签:Node,req,请求,Express,中间件,js,express,路由 From: https://www.cnblogs.com/KooTeam/p/18602002