http://www.expressjs.com.cn/
干嘛的:nodejs库,不用基础做起,工作简单化
类似:koa
express特点:
二次封装,非侵入式,增强形
express搭建服务
express=require('express')
server=express()
server.listen(端口,地址,回调)
静态页面托管
server.use(express.static('./wwww'));
接口响应:
各种请求姿势: get/post/put/delete/....
server.请求姿势API(地址,处理函数)
server.get(url,(req,res,next)=>{})
server.post(url,(req,res,next)=>{})
.....
jsonp请求 == get请求
server.get('/jsonp接口',(req,res,next)=>res.jsonp(数据)
设置回调函数的key: server.set('jsonp callback name', '设
定回调函数键’); 默认callback
参数接受: req == 请求体
req.query 获取地址栏的数据
req.body 获取非地址栏的数据 依赖中间件
中间件使用:body-parser 1. npm install body-parser 2.
require(‘body-parser’) 3. app.use(中间件())
req.params 获取动态接口名
req.method 获取前端提交方式
发送给浏览器: res == 响应体
任何类型: res.send(any) ~~ res.write + end
res.end(string|buffer)
JSON: res.json(json)
jsonp: res.jsonp(响应数据) 响应数据-》jsonp请求时的回调函数
404 : res.status(404).send({error:1,msg:"Sorry can't find that!"})
静态页面: res.sendFile(path.resolve('public/error.html'))//渲染纯 HTML 文件
后端跳转: res.redirect(url) ~~ get
处理一部分接口 共有业务逻辑:
server.all('/admin/*',(req,res,next)=>{}) all匹配全路径 处理所有HTTP 需要next
延续后续
use: 安装中间件 | 路由
server.use(地址,中间件|路由|函数体)
中间件(middleware): 不处理自定义业务,只处理请求 到 结束响应 的中间部分
body-parser
中间件: npmjs.com 查看使用方式
body-parser 获取post数据,限定大小,约
定返回数据类xx.urlencode({limit:xx})