浅析express以及express中间件
一、express:
1.express:
Express是什么?
Express是基于node.js平台的web应用开发框架;
作用:可以实现快速搭建骨架;
优点:开发web应用更加方便,更加快捷。
(通过node.js在控制台输出“hello world!”和express在控制台输出“hello world!”进行对比,直接感受express的优点)
Node.js在控制台输出“hello world!”:
const http = require('http'); http.createServer((rep,res)=>{ res.end('hollo world!') }).listen(2000)
依据上面的代码,当我们需要处理get或post请求时,只能将请求的数据代码写在createSever包裹的函数中;
const express = require('express'); //将express赋值给app,此处可以理解为app相当于express var app = express(); //处理用户请求: app.get('/',(req,res)=>{ res.send('hello world!'); })
Express处理请求是通过函数去调用方法,这样一来就更省事了。
了解了express是什么,要想熟练运用express,还需要解析express,接下来总结一下如何解析express:
在解析之前先补充一下如何创建express:
新建一个express文件夹——在express文件夹下打开命令窗口——输入命令:express -e(生成express)——在命令框输入cnpm install
创建好express之后开始解析express文件:
进入package.json文件,查看“scripts:{“start”:”supervisor/bin/www”}”,表示bin/www是入口文件——进去bin/www中(作用:在www中实际就是创建了一个服务器)——进入app.js——进入route(存放路由解析文件)——进入views(存放ejs模板引擎的视图文件/ejs模板引擎作用:后端渲染)
在此有必要提及public优先级,public也是express文件下的一个子文件夹,里面存放的是静态文件,所谓public的优先级就是指在渲染页面时是优先渲染public文件下的静态页面,再渲染views。
二、express中间件:
要理解express中间件,先列举一个生活中的例子,中介大家肯定都很熟悉,我们都知道中介扮演的角色就是把房东的意见反馈给租客,再将租客的意愿传达给房东,在介于房东和租客之间的一个存在,而express中间件类似于中介,是介于请求和回复之间的一个函数。
中间件的生命周期:收到request——在服务端进行处理——处理完发送response回去。
使用中间件即app.use();
Next():使用下一个中间件;
如果当前中间件没有终结请求-响应循环,则必须调用 next() 方法将控制权交给下一个中间件,否则请求就会挂起。使用可选则挂载路径,可在应用级别或路由级别装载中间件。可装载一系列中间件函数,在挂载点创建一个中间件系统栈。