Express中定义路由时添加路由关键字的区别

有什么区别

router.route('/create') .post(validate(hotelValidation.createHotel), function (req, res) {

简单地说

router.post('/create', validate(hotelValidation.createHotel), function (req, res) {

这些都一样吗? 路由关键字在这里完成了什么?

这些都一样吗? 路由关键字在这里完成了什么?

这里什么都不做。 但是你可以这样做:

 app.route('/some/very/long/path/that/you/dont/want/to/duplicate/risking/errors') .get(function (req, res) { }) .post(function (req, res) { }) .put(function (req, res) { }); 

代替:

  router.get('/some/very/long/path/that/you/dont/want/to/duplicate/risking/errors', function (req, res) { }) router.post('/some/very/long/path/that/you/dont/want/to/dpulicate/risking/errors', function (req, res) { }) router.put('/some/very/long/path/that/you/dont/want/to/dulpicate/risking/errors', function (req, res) { }); 

router.route(path)为给定的path创build单个Route的实例。

使用router.route(path)是避免重复路由命名和打印错误的推荐方法。

路由器[method]像“post”和“get”这些是你可以直接调用一个路由来为路由上的方法注册一个新的处理程序的函数。