express
- express是一个nodejs的框架
如何使用
npm init
npm install express -S
index.js
const express = require('express')
// 创建一个应用程序
const app = express()
app.get('/home', (req, res)=>{
res.send('hello node')
})
app.post('/home', (req,res)=>{
res.send('内容')
})
app.listen(3000, ()=>{ console.log('启动成功了') })
中间件
nodemon 解决服务器热加载问题
npm i nodemon -g
运行 nodemon 文件
建议:
package.json
script:{
"start": nodemon index.js
}
npm run start
设置 路由 请求路由 携带参数 (参数解析)
1,get请求 获取 商品列表数据
cateId 指定 你要 获取 哪个分类下的商品
current 哪一页数据
pageSize 一页多少条
order 事件 销量 价格
后端路由 解析 参数
解析get请求传参
app.get('/home', (req,res)=>{
// req.query 就是get请求的参数 解析成对象
res.send('get请求')
})
http://localhost:3000/home?current=1&pageSize=10
req.query
{
current: '1',
pageSize: '10'
}
解析post请求
post
请求是在请求体 body 携带
需要设置 请求格式
"content-type":"x-www-form-urlencoded"
"content-type":"multipart-formdata" //上传文件
"content-type":"application/json"
post 请求 body 请求参数 express库默认没有这个功能
中间件 渐进式框架(核心包 只有基础功能 核心包 体积特别小)
中间件 可以往核心包增加 其他的功能 (第三方插件)
如何使用中间件
app.use([url,]中间件)
中间件其实就是一个函数
const middleware1 = (req,res,next)=>{
}
分类:
全局中间件(所有请求都拦截)
app.use(中间件)
app.use('/',中间件)
局部中间件(只拦截特定地址的请求)
app.use("/a",中间件)
body-parser
安装
npm i body-parser -S
const bodyParser = require('body-parser')
// 解析post 传递的 x-www-form-urlencoded
app.use(bodyParser.urlencoded({extended: false}))
// 解析post 传的 json格式参数
app.use(bodyParser.json())
后端返回给前端 格式 规范 restfulApi
规定后端
{
code: 0, // 自定义错误编码
msg: "登录成功",
data: []
}
规定前端:
获取数据 get
提交数据 post
更新数据 put
删除数据 delete
MVC
m model 数据
v view 视图(html)
c controller 控制器 核心业务代码
路由中间件
const router = require('express').Router();
// router 相当于小型的 app const app = express()
// router.get() .post() .use()
router.get('/home', (req,res)=>{
res.send('我是home')
})
app.use(router)
静态资源中间件
功能:以服务器的地址来访问 服务器中的资源
static中间件
app.use(express.static('./public'))
public
imgs
a.jpg
locahost:3000/imgs/a.jpg 找到这张图片
app.use("/static",express.static('./public'))
public
imgs
a.jpg
localhost:3000/static/imgs/a.jpg