//express.js的路由Router学习
Router是express4.0新加入的功能,它就像是一个迷你的应用程式,可以让应用程式内部的路由编写更方便、更有弹性。
//app.get与app.use区别
app对象一般用来表示express程序,通过调用express模块导出的顶层express()方法来创建。
区别:
app.use(path,callback)中的callback既可以是router对象,也可以是函数。
app.get/post(path,callback)中的callback只能是函数。
理解:
将app.get()看作是app.use的特定请求(get)的简要写法,例子如下:
var express = require("express");
var app =express;
app.get("/hello",(req,res)=>{
res.send("hello ");
})
与下面等同
var express = require("express");
var app = express();
var router = express.Router();
router.get("/",(req,res=>{
res.send(“hello”)
})) //一般将此部分单独放在routers文件夹中
app.use("/hello",router)
也即:路由规则是app.use(path,router)定义的,router代表一个由express.Router创建的对象,在路由对象中可以定义多个路由规则。
当我们的路由只有一条规则时,可直接接一个回调函数用app.get简写;当一个路径有多个匹配规则时,使用app.use(path,router),router放在一个单独的文件里面配置多个规则。