Я думаю, что в вашем первом примере вы намерены использовать все запросы router
, поэтому вы должны сделать следующее:
const router = express.Router();
router.get("*", (req, res, next) => {
console.log(req.params);
});
app.use("/", router);
Это говорит приложению использовать router
для всего, что начинается с /
(root) и отправит /random
на ваш get
, как и ожидалось.
Причина, по которой вы получили то, что вы видели, заключается в том, что использование app.use("*",router)
означает "принять что-либо как root и отправьте router
. В случае "/ random" он обработал его как root полностью и отправил все после него на маршрутизатор.
Например, если вместо этого вы сказали app.use('/random',router)
затем попробовал этот URL:
http://example.com/random/hello/there
Вы бы увидели, что get
будет вызван с /hello/there
(ie, все после строки соответствия).