1////////////////////////////
var express = require("express");
var app = express();
var apiRouters = express.Router(); //这里定义了一个路由
apiRouters.get("/index",function(req,res){
res.send("123"})
})
app.use("/api",apiRouters) //调用app.use的api路由才能调用apiRouters路由
2///////////////////////
var express = require("express");
var app = express();
//这里没有定义一个路由
app.get("/api",function(req,res){
res.send("111"})
})
//这里没有调用
第一個127.0.0.1:**/api/index 能訪問到123
第二個127.0.0.1:*/api 能訪問到111
第一個跟第二個程式碼不一樣但是都能達到相同的效果,
這是為什麼,還是我哪裡理解出錯了?
use("/api", processor)
: 相对路径中以'/api'开头的url都可以被 use截获到,而且不关心请求的方式是get还是post。"http://yourdomain/api", "http://yourdomain/api/index"都可以被它捕获到。get("/api", processor)
: 相對路徑必須等於'/api'才能捕獲到, 只有"http://yourdomain/api"能被捕獲到,並且請求方式為「get」。express router本身是個中間件,就和它的名字一樣,它的任務是分配不同請求到不同的路由下面。如果你要做哦API的版本控制,你可能會有/api/v1/user和/api/v2/user兩種路由,這時候router會根據路由的設定呼叫不同的API。 express本身是個object,對它的操作是可行的,但並不規範