sin*_*bar 4 javascript node.js express
如果router.all()
只匹配所有方法,可以改为router.use()
吗?和router.use()
之间的区别是router.route()
什么?
小智 8
router.all : 这意味着,请求的方法无关紧要.. (post, get, put),如果url匹配,则执行函数。
ex- router.all("/abc",fn) 将适用于所有对 /abc 的请求
router.use() : router.use() 帮助你编写模块化路由和模块。你基本上定义了路由的中间件。
router.use("/pqr", pqrRoutes)
现在对于所有以 /pqr 开头的请求,如 /pqr/new 或 /pqr/xyz 都可以在 pqrRoutes 中处理。
router.route():这是为单个 url 端点定义不同 Method 实现的好方法。
假设您有两个 api 端点。router.get("/jkl") 和 router.post("/jkl"),通过 router.route() 你可以组合这些不同的 api 处理程序。
你可以说 router.route("/jkl").get(fn1).post(fn2)
router.all()
匹配每个http协议,router.use()
适用于中间件,并router.route()
返回单个路由的实例,然后您可以使用该路由通过可选的中间件来处理HTTP动词。您应该查看文档以获取更多信息http://expressjs.com/fr/api.html