【发布时间】:2018-10-19 05:42:04
【问题描述】:
我正在从各种教程中学习 express,并且有一个可以在本地运行的应用程序,但我想更好地了解代码的每个部分的作用。
我对此处app.route() 部分中的示例感到有些困惑:
https://expressjs.com/en/guide/routing.html
app.route('/book')
.get(function (req, res) {
res.send('Get a random book')
})
.post(function (req, res) {
res.send('Add a book')
})
.put(function (req, res) {
res.send('Update the book')
})
我可以看到app 等于express(),这是记录在here 的顶级函数。
我可以看到.get()、post() 和put() 方法链接到route() 方法,记录在here。
我感到困惑的是,文档声明 .get()、post() 和 put() 方法的参数采用以下格式:
app.get(path, callback [, callback ...])
app.post(path, callback [, callback ...])
app.put(path, callback [, callback ...])
为什么链接的.get()、post() 和put() 方法不需要path 参数,而是有一个单数函数作为从Request(又名req)返回值的参数和Response(又名res)对象参数?
我显然遗漏了一些简单的东西,所以当直接从app(例如app.get())和从route()(例如app.route('/book').get())调用时,指向文档的指针可以帮助我更好地理解这些方法之间的区别不胜感激。
编辑:基本上,我想知道是否有文档定义了从路由对象调用时.get()、post() 和put() 方法所需的参数格式从调用app.route("/book") 返回,因为它似乎不是记录的内容,即path, callback [, callback ...]。
【问题讨论】: