浅探express路由和中间件的实现
时间:2021-02-15 10:21:05|栏目:NodeJS|点击: 次
1. Express简介
express是一个基于node.js平台的极简,灵活的web应用开发框架,它提供一系列强大的特征,帮助你创建各种web和移动设备应用
express框架核心特征:
- 可以设置中间件来响应HTTP请求
- 定义了路由表用于执行不同的HTTP请求动作(url=资源)映射
- 可以通过向模板传递参数来动态渲染HTML页面
2. 安装
在命令行中输入cnpm install express -g即可进行全局安装
3. 路由和中间件
使用前,先引入express
var express = require('express'); var app = express();
路由
路由表示如何处理HTTP请求中的路径(path)部分
http://host:[port]/[path]
例子:
app.get('/',function(req,res){ res.send('hello world') })
以上例子中,get可换成post或其他请求方法,方法的第一个参数'/'为匹配所有路径,可用正则表达式或其他方法进行配对,第二个参数是要执行的函数
中间件
中间件是在服务器收到请求和发送响应之前所执行的一些函数
中间件 是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量。
中间件的功能包括:
- 执行任何代码。
- 修改请求和响应对象。
- 终结请求-响应循环。
- 调用堆栈中的下一个中间件。
- 如果当前中间件没有终结请求-响应循环,则必须调用 next() 方法将控制权交给下一个中间件,否则请求就会挂起。
用app.use来在请求或响应之前插入一个中间件
app.use(function(req,res,next){ //执行一些代码 next(); })
可以有多个中间件,next表示让后面中间件继续处理