express框架
# express框架
# 中间件
- 中间件函数
const express require('express') const app = express() const fun = (req,res,next)=>{ // 判断 if(){ next() }else{ res.send('执行错误') } } app.use(fun)
1
2
3
4
5
6
7
8
9
10
11
全局中间件 app.use(中间件函数)
路由中间件 app.get('/login',中间件函数,(req,res)=>{ res.send('响应数据')})
静态资源中间件
const express require('express') const app = express() app.use(express.static(文件路径))
1
2
3
- 静态资源中间件 会访问index.html
# body-parser
用来获取请求体
# 防盗链
# 模板引擎EJS
https://www.jianshu.com/p/a9469055796b
# express处理文件上传
- npm 安装 formidable
# Demo
router.get('/account', function (req, res, next) { res.render('list') //render可以响应list.ejs的模板内容 样式会丢失 一定要查看路径信息 });
1
2
3
# LOWDD 持久化保存 shortid
# Cookie [Express]
# cookie操作
const express = require('express');
const app = express()
app.get('/', (req, res) => {
res.cookie('name', 'zhangsan',
{ maxAge: 30 * 1000 } // 设置cookie过期时间
) // 会在浏览器关闭的时候销毁
res.cookie('theme', 'blue')
res.send('set-cookie')
})
app.get('/del-cookie', (req, res) => {
res.clearCookie('name')
res.send('删除成功')
})
app.listen(3000)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 获取cookie
// // yarn add cookie-parser
const express = require('express');
var cookieParser = require('cookie-parser')
const app = express()
app.use(cookieParser())
app.get('/', (req, res) => {
res.cookie('name', 'zhangsan',
{ maxAge: 30 * 1000 } // 设置cookie过期时间
) // 会在浏览器关闭的时候销毁
res.cookie('theme', 'blue')
res.send('set-cookie')
})
app.get('/del-cookie', (req, res) => {
res.clearCookie('name')
res.send('删除成功')
})
app.get('/get-cookie', (req, res) => {
console.log(req.cookies);
res.send('获取cookie')
})
app.listen(3000)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Session中间件
# session和cookie的区别
cookie和session的区别主要有如下几点:
- 1.存在的位置
- cookie:浏览器端
- session:服务端
- 2.安全性
- cookie是以明文的方式存放在客户端的,安全性相对较低
- session存放于服务器中,所以安全性
相对
较好
- 3.网络传输量
- cookie设置内容过多会增大报文体积,会影响传输效率
- session数据存储在服务器,只是通过cookie传递id,所以不影响传输效率
- 4.存储限制
- 浏览器限制单个cookie保存的数据不能超过
4K
,且单个域名下的存储数量也有限制 - session数据存储在服务器中,所以没有这些限制
- 浏览器限制单个cookie保存的数据不能超过
编辑 (opens new window)
上次更新: 2023/11/01, 22:15:03