express框架逻辑首先,express提供了四种类型的api:它们之前的逻辑如下:express()是顶层入口函数,它返回Application实例varexpress=require();varapp=express();Application是express的应用实例,实现了各种http路由方法(get、post、put、delete等)app.get('/user',(req,res)=>{res.send('helloworld')})Request和Response分别是可读可写流,由Applicationhttp方法中的回调函数返回。app.get('/user',(req,res)=>{res.send('helloworld')})Router类似于Application,可以看成是一个“迷你应用”,是比较少用的app.get('/user',(req,res)=>{res.send('helloworld')})各类的一些关键方法如下:expressexpress提供了4个中间件(在4.16.x版本之前,有只有一个中间件(express.static)express.json()//解析(获取)json格式数据express.static()//实现静态服务器(web根目录)express.Router()//实现路由器实例express.urlencoded()//解析(获取)x-www-form-urlencoded格式(表单提交)数据,一般返回json数据ApplicationApplication提供了很多路由设计方法app.get()//http获取请求app.post()app.put()app.all()//所有http方法app.use()//添加httpget方法的中间件或模糊匹配app.router()//同路径http方式的多个匹配app.listen()//监听端口app.engine()//设置模块引擎,如htmljade等注意:Application的各种路由方法要注意优先级匹配的问题,写在最前面的会优先匹配,一条路由一旦匹配上,一般不会再继续匹配。如果想继续匹配,可以使用next()方法。所以在实际使用中,我们会把模糊匹配放在精确匹配之后,比如get()会放在all()之前。RequestRequest是一个可读流,它提供了“请求”的各种属性和方法。在实践中,属性用得更多。req.body//请求body,需要使用body-parser中间件req.cookies//获取cookiereq.params//获取路径参数,如/user/id/2req.query//获取获取参数,如/user?id=2req.path//请求路径req.routeResponseResponse是一个可写流,提供了“response”的各种属性和方法。res.cookie()//设置cookie需要cookie-parser中间件res.send()//返回数据res.end()//returnres.json()//returnjsonres.redirect()//jump,302res.status()//设置返回的状态码比如res.status(200)routerrouter比较少用。解释:上面列出了一些常用的方法和属性,还有很多没有提到。大家可以去http://www.expressjs.com.cn/4...查看学习,每个方法都有使用的例子和场景,希望大家多看文档。最后写一个简单的例子:1、实现一个静态服务器,访问静态资源;2、restfulapi本地目录:static文件夹下有2个静态资源:meinv.jpg、test.txt浏览器访问:127.0.0.1:3000/meinv.jpg可以访问到这个meinv.jpg,但是我们没有做任何路由设置!!!Postman接入:使用express框架,我们不再需要处理路由设置。直接专注业务,快速实现!所以大家应该对快递单据有一个很好的掌握。在后面的课程中,我们主要讲一下基于express的微信公众号的实际开发。
