首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

express 路由统制

2013-02-28 
express 路由控制next()express的路由控制有个next()功能,在定义了多个路由的时候,对匹配的url会按顺序执

express 路由控制

next()

express的路由控制有个next()功能,在定义了多个路由的时候,对匹配的url会按顺序执行,

例如,有这样两个路由,第一个路由会对满足“/”的地址,在req中添加一个user的属性,然后再交给接下去的路由处理

所以当访问....../user时,可以从req中取出user信息

function loadUser(req, res, next) {  // 这里提供假数据,你可以从数据库中获取真实用户信息  var user = users[req.params.id];  if (user) {    req.user = user;    next();  } else {    next(new Error('不存在的用户 ' + req.params.id));  }}

这样就能将多个路由都需要用到的处理提取出来,写成单独的函数,或者用来提前做一些条件判断


其他:

express的use()功能在api中的定义是app.use([path],function),

不指定path的情况下,对应的是默认的'/',

当指定path时,会对匹配的url进行处理,

但是这里的path貌似不能像get、all那样进行正则匹配



参考:

http://www.csser.com/board/4f77e6f996ca600f78000936#/post/4f77ea1cbe3baa0d7800153c

http://expressjs.com/api.html



热点排行