我坐4.16.3快车。
首先,此代码工作正常:
const express = require('express')
const router = express.Router()
let app = express()
router.use((req, res, next) => {
console.log('hi, express')
next()
})
app.use(router)
app.all('*', (req, res) => {
res.send("hello, world")
})
app.listen(8075, function () {
console.log('listening localhost:8072')
})
但当我试图设置参数时
next()
:
const express = require('express')
const router = express.Router()
let app = express()
router.use((req, res, next) => {
next('hello, express') ----------------mark
})
app.use(router)
app.all('*', (msg, req, res) => {
console.log(msg)
res.send(msg)
})
app.listen(8075, function () {
console.log('listening localhost:8072')
})
响应始终是错误页:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>hello, express</pre>
</body>
</html>
我只是在下一个函数中添加了一个参数,但它似乎已损坏了Express路由器。
对参数使用next()的正确方法是什么?