将我的 Express 应用路由到另一个文件后,如何访问 URL 参数?

How do I access URL parameter after i've routed my express app to another file?

我的主要 Express 服务器在 Node.js 中称为 app.js。

app.use("/login", require(./routes/login));
app.use("/:id", require("./routes/users"));

当我尝试访问 URL 参数时,它 returns 未定义。

我试过记录 req.params:

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

router.get('/dashboard', (req, res) => {
    res.send(`Current Ornament Status and Data for ${req.params}`);
});

module.exports = router;

它给了我一个空数组。

我想是路由后在另一个文件中无法访问该参数。你能建议一个解决方法吗?

我认为您遗漏了一些关于 express.js 路由的基本信息,因此无法理解。

要求行意味着它正在加载另一段代码。所以你也需要向我们展示这一点。

:id 的东西需要更长的解释。

假设我希望服务器处理 URL /finduser/23

23 可以变化,几乎可以是任何数字。我不会写 99 个不同版本的 router.get,对吧?

router.get("/finduser/1",...
router.get("/finduser/2",...
router.get("/finduser/3",...

不,我们做的是把它变成一个参数

router.get("/finduser/:id",...

然后我们传递的任何数字变成req.params.id,假设路由器传递req,res

EX:如果我们传递 URL /finderuser/15,那么 req.params.id = 15

如果您只是传递 /finduser,那么 req.params.id 什么也得不到。

此处提供完整详细信息 http://expressjs.com/en/guide/routing.html#route-parameters

你的例子:

router.get('/dashboard', (req, res)

没有任何参数。所以 req.params.id 什么都没有。