前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Express框架之中间件(二)

Express框架之中间件(二)

作者头像
十月梦想
发布2018-08-29 12:49:04
3420
发布2018-08-29 12:49:04
举报
文章被收录于专栏:十月梦想十月梦想

前面的中间件以get路由为例,下面讲解app.use和常规get作为中间件的不同之处!

app.use()也是一个中间件。与get、post不同的是,他的网址不是精确匹配的。而是能够有小文件夹拓展的。

比如网址:  http://127.0.0.1:3000/admin/aa/bb/cc/dd

代码语言:javascript
复制
1           app.use("/admin",function(req,res){  
2               res.write(req.originalUrl +   "\n");   //    /admin/aa/bb/cc/dd
3               res.write(req.baseUrl +   "\n");  //   /admin
4               res.write(req.path +   "\n");   //    /aa/bb/cc/dd
5               res.end("你好");
6           });

如果写一个/ 

代码语言:javascript
复制
1           //当你不写路径的时候,实际上就相当于"/",就是所有网址
2           app.use(function(req,res,next){
3               console.log(new Date());
4               next();
5           });

app.use()就给了我们增加一些特定功能的便利场所。

实际上app.use()的东西,基本上都从第三方能得到。

代码语言:javascript
复制
var express=require("express");
var app=express();
//静态服务
//在指定路由/jingtai/呈递www目录下静态服务
app.use("/jingtai/",express.static("./www"));
//新的路由
app.get("/css",function(req,res){
    res.send("这仅仅是一个路由"+"<hr />")
})
app.listen(3000)

一般我们不使用use作为中间件,当然我们不如使用制度功能比如上述例子,进行使用静态web服务时候,前面调取的路径可以呈递静态服务的存放目录!根据适合的应用场景采取不同的方案!app.use的中间件和post,get的不同之处在于use的模糊匹配,只要路径前面(req.baseUrl)匹配成功,后面的随意输入不影响!匹配(/haha),在req.url任意追加到(/haha)后面随意传递都不影响!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-7-7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档