Express 中的路由参数为空

Route parametrs empty in Express

我尝试打印路由器参数,但 req.params 是空的,不知道我做错了什么。

在app.js中:

...
var shareFile=require('./controllers/file/share');
...
app.use('/share/:id', shareFile);
...

和share.js控制器:

var express = require('express');
var router = express.Router()

router.get('/', function (req, res, next) {
    res.send(req.params)
});

module.exports = router;

localhost:3000/share/123 给出空 json 页。将 res.send 更改为 console.log 得到 {}

谢谢

req.params 将在路由定义为 /share/:id 并且您调用 http://yourserver/share/abc

时生成 {id: 'abc'}
router.get('/', function (req, res, next) {
    res.send(req.params)
});

以上你应该预料到 req.params 在这里是空的,因为你没有预料到它们。但是你应该在这里看到它们:

router.get('/share/:id', function (req, res, next) {
    res.send(req.params)
});