express框架中router组件的app.use和app.get

时间:2022-10-24 19:23:20

首先看例子:

var express = require('express');
var router = express.Router(); var index = require('./router/index'); //①
app.use('/test1',function(req,res,next){
res.send('this is test1');
}); //②
app.get('/test2',function(req,res,next){
res.send('this is test2');
}); //③
app.use('/test3',index); //④
app.get('/test4',index);

  

  index是一个路由对象,前三个结果都可以正确显示,最后一个会报错404。这说明给app.get设置路由对象是不能实现的(app.post同理)。

  

  那么两者各自在什么情况下使用呢:

   路由规则是app.use(path,router)定义的,router代表一个由express.Router()创建的对象,在路由对象中可定义多个路由规则。可是如果我们的路由只有一条规则时,可直接接一个回调作为简写,也可直接使用app.getapp.post方法。

(参考梧桐和风博客) 

相关文章