Express框架之中间件(二)

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

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

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

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           });

如果写一个/ 

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

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

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

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)后面随意传递都不影响!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大内老A

《WCF技术剖析(卷1)》(修订版)目录

第1章 WCF简介 (WCF Overview) 1.1 SOA的基本概念和设计思想 1.2 WCF是对现有Windows平台下分布式通信技术的整合 1.3 构...

1798
来自专栏非著名程序员

Android内存泄漏终极解决篇(上)

一、概述 Android内存的文章详见:http://blog.csdn.net/linghu_java/article/details/39480761 在...

20410
来自专栏抠抠空间

【Django错误】OSError: raw write() returned invalid length 14 (should have been between 0 and 7)

错误环境 使用Django框架创建完models类的之后,用python manage.py migrate命令来生成数据库表的时候出错 错误代码 Operat...

3425
来自专栏程序员互动联盟

【专业技术】揭秘安卓浏览器如何注入javascript脚本

Android中向webview注入js代码可以通过webview.loadUrl("javascript:xxx")来实现,然后就会执行javascript后...

5184
来自专栏小白课代表

文件搜索利器——Everything

2812
来自专栏cloudskyme

eclipse3.7插件构建自定义右键菜单

1.1 简介 在开发工具上添加自己需要的功能,可以基于eclipse的插件进行扩展以满足新功能的需要。下面就说说如何在eclipse上如何添加菜单项。 1.2 ...

4146
来自专栏python开发教学

【Django错误】OSError: raw write() returned invalid length 14 (should have been between 0 and 7)

错误环境 使用Django框架创建完models类的之后,用python manage.py migrate命令来生成数据库表的时候出错 错误代码 Operat...

3847
来自专栏前端儿

Node.js起步 -- (1)

  我们知道JavaScript是运行在浏览器中的,浏览器为它提供了一个上下文(context),从而让JavaScript得以解析执行。

1542
来自专栏运维小白

Linux基础(day18)

5.5 进入编辑模式 编辑模式:就是进入到可以编辑文本文件的模式 ? 进入编辑模式方法: i ,直接在当前光标处进入编辑模式 I (大写I),光标直接移动到...

1837
来自专栏Spark学习技巧

Kafka源码系列之如何删除topic

本文依然是以kafka0.8.2.2为例讲解 一,如何删除一个topic 删除一个topic有两个关键点: 1,配置删除参数 delete.topic.enab...

4379

扫码关注云+社区

领取腾讯云代金券