首先看例子:
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.get或app.post方法。
(参考梧桐和风博客)
浙公网安备 33010602011771号