express4.0讲解 (二)

三、Express路由

概念:

Express路由的路由分为两类app级路由和子路由。

应用级路由:主路由,书写在启动文件内的响应路由,称为主路由。(即写在app.js)

路由级路由:子路由,采用express.Router()方法创建的路由,通常写在搭建项目时的自定义路由文件夹(router)的文件中,即就是将路由进行模块化操作,在启动文件中,以中间件的形式引入模块化的路由文件。

Express路由常用的响应的方法

**注:**Express响应路由的匹配规则是 请求方式和响应方法必须对应 ,请求路由和响应路由必须对应,否则会报路由无法响应的错误。

1.响应get请求方式的路由,采用 引用.get()

get方法,参数一是路由的名字,参数二是回调函数

app.get("/a",(req,res)=>{
    res.send("我是get路由a");
});

2.响应post请求方式的路由,采用 引用.post()

app.post("/b",(req,res)=>{
    res.send("我是post路由b");
});

3.响应delete请求方式的路由,采用 引用.delete()

app.delete("/c",(req,res)=>{
    res.send("我是delete路由c");
});

4.响应purge请求方式的路由,采用 引用.purge()

app.purge("/ff",(req,res)=>{
    res.send("我是purge方式的路由ff");
});

5.如果同一路由 不同请求的 响应内容相同,可以采用all()响应所有请求方式

app.all("/cc",(req,res)=>{
    res.send("我是处理全部请求方式的路由aaa");
});

5.同名如果需要根据不同的请求方式响应不同的内容可以采用链式操作。使用 引用.route() 方法

app.route("/bb").get((req,res)=>{
    res.send("我是bbget请求");
}).post((req,res)=>{
    res.send("我是bbpost请求");
}).put((req,res)=>{
    res.send("我是route方法的put请求");  
});

**注:**在Express中响应请求,名字和请求方式必须要完全对应。

Express路由的解析

Express路由的形式大致可以分为三种字符串,正则表达式,动态路由。

1、字符串类型的路由

app.get("/aa",(req,res)=>{
   res.send("我是aa路由"); 
});

2、正则表示类型的路由

?,匹配前面的单个字符0~1次,例/abcd,/acd

app.get("/ab?cd",(req,res)=>{
    res.send("我是正则?的路由!"); 
});

**注:**在Express中可以使用()进行分组,但是不能使用在路由的开始位置。

+,匹配前面的单个字符1~n次,例/abcd,/abbcd

app.get("/ab+cd",(req,res)=>{
    res.send("我是正则+的路由!"); 
});

* ,匹配其前面的字符和后面的字符一致即可,*可以代替任意字符。例/abcd

app.get("/ab*cd",(req,res)=>{
    res.send("我是正则*的路由!"); 
});

.,通常与*号联合使用,进行一系列类型文件的匹配,解决带后缀名的路由,统一请求同一个响应,例 /index.html ,/index.js ,/index.css

app.get("/index.*",(req,res)=>{
    res.send("我是正则.的路由!"); 
});

3、动态路由,又称作冒号传参,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值