「这是我参与11月更文挑战的第12天,活动详情查看:2021最后一次更文挑战」
前言
大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。
以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。
摘要
本文主要介绍Express路由的一些概念和用法。
Express路由
简单来说路由就是对于不同的路径的各种类型请求,给予客户端对应的处理方法。
路由是由URL和HTTP方法以及若干个回调函数组成。
格式如下:
app.Method(path,callback...)
参数说明:
- app是express的一个实例。const app = express()
- Method是对应的HTTP方法,比如get,post,put方法等。
- callback是对应的回调函数,根据具体需求来确定,可以是多个。对于多个回调函数的情况需要在函数体内调用next(),把控制权交给下一个回调函数,如果没有next,剩下的回调函数将会被挂起,而不会被执行。
实例展示:
const express = require('express');
const app = express();
//设置路由
//当get请求被提交到根路由时,调用中间件进行处理。
app.get('/',function(req,res,next){
console.log("这是第一个处理的回调函数,通过next调用下一个回调函数。");
next();
},function(req,res){
console.log("这是通过上层next调用的回调函数,已经是最后一个,不需要next,需要结束响应");
res.send("处理结束,这是根路由");
});
可以看到虽然可以调用多个回调函数,但是代码可读性并不是很好,不过路由处理程序还提供函数数组作为参数或两个组合的形式,我们来试一下。
const f1 = function(req,res,next){
console.log("这是第一个处理的回调函数,通过next调用下一个回调函数。");
next();
};
const f2 = function(req,res){
console.log("这是通过上层next调用的回调函数,已经是最后一个,不需要next,需要结束响应");
res.send("处理结束,这是根路由");
};
app.get('/',[f1,f2]);
还可以在加一个:
app.get('/',[f1,f2],function(req,res){
console.log("两者组合使用");
res.send();
});
结语
以上就是关于Express框架的路由的一些概念和用法,以往对读者有所帮助。如有不正之处,欢迎掘友们批评指正。