express模块
express
let express = require('express')
//创建一个应用程序
let app = express();
console.log(app);
//定义一个路由
app.get('/',(req,res)=>{
res.send('...')
}).listen(3000)
路由切换
127.0.0.1/stu stu页面
127.0.0.1/teacher teacher页面
let express = require('express')
//创建一个应用程序
let app = express();
app.get('/stu',(req,res)=>{
res.send('这是stu页面')
})
app.get('/teacher',(req,res)=>{
res.send('这是teacher页面')
})
app.listen(3000)
get请求和post请求
let express = require('express')
//创建一个应用程序
let app = express();
app.get('/login',(req,res)=>{
res.send('这是get登录页面')
}) //地址栏请求的是以get方式请求
app.post('/login',(req,res)=>{
res.send('这是post登录页面')
})
##特殊路由规则
params :一个数组,包含命名过的路由参数
param(name):返回命名的路由参数值
query:一个对象,以键值对存放的查询字符
body:一个对象,包含客户端传来的cookie值
router:当前匹配路由信息
express中间件
中间件:需要对很多的请求做统一的处理,但是使用ge或者post时不方便进行分类处理
app.use()
自定义中间件
let express = require('express')
let app = express()
app.use((req,res,next)=>{
req.now = new Date();
})
第三方中间件
body-parser:解析body中的数据,并将其保存为Request对象的body属性
bodyParse.json() 解析json格式数据
bodyParse.text() 解析文本格式
bodyParse.urlencoded()地址栏文本 或者表单
下载body-parse npm install --save body-parse
使用:
返回的对象是一个键值对 key value
当extend为false时,键值对中的值为String或者Array
为true时,可为任意类型
app.use(bodyParser.urlencoded({
extended:true}))
安装cookie
安装cookie
npm install cookie-parser --save
存储cookie的值的格式
res.cookie.标签名=存储的值
cookie:存储在客户端 浏览器端,数据不安全,访问速度比较快
cookie与session的区别
session:
- 存储在服务端(cookie存在本地)
- 数据比较安全
- 缓存的事件依赖于cookie
- 如果没有设置
下载安装 npm install express-session
session存储的格式:
res.session.标签名=存储的值
pug模板引擎
npm install pug --save