首先看例子:
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方法。
(參考梧桐和風博客)
