var router = express.Router();
router.get('/', function(req, res) {
res.send('<h1>Hello World</h1>');
});
app.use('/home', router)
上面代码新建了一个路由对象,该对象指定访问根路由(/)时,返回Hello World。然后,将该路由加载在/home路径,也就是说,访问/home会返回Hello World。
但是如果增加一个路由
router.get('/a', function(req, res) {
res.send('<h1>Hello pojia</h1>');
});
这时候有'/','/a'两个路由。那这时候访问'/home'会输出什么呢?为什么?
你碰巧用到了express管理路由层级的技巧。
app.use('/home',router) - express将路由/home下的的请求交由router处理,router里设定的
/
和和/a
是相对于/home
的 , 即分别对应/home/
,/home/a
两个路由。以上,实现了路由的“层级”管理。