浅谈Express路由

229 阅读2分钟

「这是我参与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框架的路由的一些概念和用法,以往对读者有所帮助。如有不正之处,欢迎掘友们批评指正。