expressjs的路由设置方法

1. Route Path的3种写法:

实例:
     app.get('/opus/.*.html', handler); // 模式字串,用单引号'', 不是RegExp
     app.get(/\/opus\/.*\.html/, handler); // RegExp, 用斜杠/   /
只有后者匹配: "/opus/XXXX.html", 前者不

* RegExp正则字串写法 
* 模式字串(String Pattern): 只允许少量的特殊标记 ? * +和( ), (备注: 不包括.和-), 含义与RegExp中一样,
    b? 匹配{0,1}个b 
    b+ 匹配{1,n}个b
    b* 匹配{0,n}个b
* 普通字串: 没有任何特殊字符
这个3种写法适用于各种http操作(get,put和post), Route Path和Request方法一起定义一个endpoint, 完成一个请求的操作。

2. app.get(),代价小,优先用。 app.use()速度慢
app.get('/', handler): 增加一个路径'/'及其handler到routing 表,只有当http GET '/'的时候, 才调用此handler,永远不会被非"/"的 routes调用。
app.use('/', middleware): 增加一个middleware到stack, .所有以'/'开头的路径(不论http操作是GET/PUT/POST), 都会执行此middleware。

* stack中的每一个middleware都是一个函数,拥有形参(req, res, next)。 stack中的每一个middleware都会被前者通过next()显式调用。
* express.static(__dirname + '/pub') 返回一个middleware专门检查req的path, 并且以streams返回res的content.

///

一、基本方法:
app.METHOD(PATH, HANDLER)
把路径path和操作方法method(可以是http的get/put/delete等),映射到一个处理函数handler

例如:
app.get('/user', function (req, res) {
res.send('Got a PUT request at /user');
});

二、使用express.Router的方法

定义一组路径. 例如:
/birds
/birds/about

1) 先在Router文件中,只定义相对路径/和/about
var express = require('express');
var router = express.Router();

// define the home page route
router.get('/', function(req, res) {
res.send('Birds home page');
});
// define the about route
router.get('/about', function(req, res) {
res.send('About birds');
});

module.exports = router;

2) 在主文件中, 定义base路径/birds,
var birds = require('./birds');
app.use('/birds', birds);

转载于:https://www.cnblogs.com/GameEngine/p/5226235.html

ExpressJs server中Router的设置相关推荐

  1. 通过 Visual Studio 对 SQL Server 中的存储过程设置断点并进入存储过程对其进行调试...

    通过 Visual Studio 的 Professional 和 Team System 版本,我们可以对 SQL Server 中的存储过程设置断点并进入存储过程对其进行调试,这样我们可以象调试应 ...

  2. Microsoft SQL Server中的事务(转载)

    1.1 事务的概念 事务是作为单个工作单元而执行的一系列操作,比如查询和修改数据等. 事务是数据库并发控制的基本单位,一条或者一组语句要么全部成功,对数据库中的某些数据成功修改; 要么全部不成功,数据 ...

  3. 怎么在服务器中修改sql权限设置密码,SQL server数据库的权限设置

    一.登录权限: SQL server的身份验证模式有以下两种: 1. Windows身份验证模式: 当使用Windows身份验证时,SQL server会使用操作系统中的Windows用户和密码.也就 ...

  4. pads中如何设置等长_如何在SQL Server中设置扩展,监控系统性能

    dbForge Studio for SQL Server为有效的探索.分析SQL Server数据库中的大型数据集提供全面的解决方案,并设计各种报表以帮助作出合理的决策. dbForge Studi ...

  5. sql 如何设置行级锁_SQL Server中的行级安全性简介

    sql 如何设置行级锁 In this article, I'm going to discuss Row-Level Security in SQL Server. RLS or Row-Level ...

  6. 在SQL Server中配置索引创建内存设置的最佳实践

    介绍 (Introduction) The Index Create Memory setting is an advanced SQL Server configuration setting wh ...

  7. nocount on_在SQL Server中设置NOCOUNT ON语句的用法和性能优势

    nocount on Have you ever noticed SET NOCOUNT ON statement in T-SQL statements or stored procedures i ...

  8. 虚拟机中部署ISA Server 2006 防火墙 网络设置(上)

    虚拟机中部署ISA Server 2006 防火墙网络 设置(上) 作者:杨坚 在虚拟机中部署 ISA server 2006 不是一件容易的事,相信大家在日常工作也遇到过.对工程师来说困难是每天都会 ...

  9. sql server中datetime默认值设置和日期函数

    sql server中datetime默认值设置和日期函数 select CONVERT(varchar, getdate(), 120 )         -----------------> ...

最新文章

  1. js php 正则差别,正则表达式(括号)、[中括号]、{大括号}的区别小结,正则表达式小结...
  2. js编码java解码_js编码处理(转)
  3. 深度学习再登Science:万物皆可做神经网络处理器,你甚至可以用锅碗瓢盆
  4. 【已解决】对JSP页面传值中文乱码的简单解决方法
  5. fread读结构体返回值是0无错误_嵌入式C编程之错误处理(附代码例子)!
  6. mysql 查外键关联关系 (指定被引用表,查哪些表对其有外键引用)
  7. OpenCV 头像训练与识别
  8. carbon----代码美化工具
  9. win10开机出现任务栏卡死无反应,桌面点击正常,重启任务管理器无效
  10. nacos + springcloud gateway 出现503错误
  11. 文献找不到有什么好办法,运用谷粉学术和sci-hub下载各种文献
  12. 拳皇重生服务器维护,用Kaillera打造拳皇等街机服务器教程
  13. python向excel写数据_Python 往Excel写数据
  14. Matlab中num2str函数的用法
  15. 关于使用jquery weui的picker部分遇到的问题及解决办法
  16. ts15_Forecast multiple seas_mSTL_make_subplot_rMSPE_UCM_date format_NeuralProphet_changepoint_StateS
  17. 生活中的英语 —— 新词
  18. 自考那些事儿(五):软件开发工具(实践篇)
  19. linux服务器怎么添加路由,linux系统中添加路由的方法
  20. Eclipse无法加载插件解决办法

热门文章

  1. 如何判断一个数组是否按顺序排好了
  2. HTML中的一些知识点
  3. 查看SqlServer的内存使用情况
  4. Windows Server2003 sp2重装IIS后无法浏览asp.net网页解决方法
  5. 没有JS的前端:体积更小、速度更快!
  6. 第 27 章 Optimization
  7. 迪普科技:G20峰会背后的网络安全守护者
  8. ms sql 主键自动生成32位guid
  9. Android之线程安全的单例模式,Adapter注意事项之引用传值
  10. 科研找到属于自己的思想