📜  Express.js router.param()函数

📅  最后修改于: 2022-05-13 01:56:23.728000             🧑  作者: Mango

Express.js router.param()函数

router.param()的参数是name函数 。其中name是参数的实际名称, 函数是回调函数。基本上,只要用户路由到参数,router.param()函数就会触发回调函数。即使用户多次路由到该参数,该回调函数在请求响应周期中也只会被调用一次。

句法:

router.param(name, function)

回调函数的参数有:

  1. req – 请求对象
  2. res – 响应对象
  3. next – 下一个中间件函数
  4. id – name参数的值

首先,您需要将 express 节点模块安装到您的节点 js 应用程序中。

express js的安装如下:

npm init 
npm install express 

创建文件名app.js并将以下代码粘贴到文件中。

//
const express = require("express");
const app = express();
  
//import router module from route.js file
const userRoutes = require("./route");
  
app.use("/", userRoutes);
  
//PORT
const port = process.env.PORT || 8000;
  
//Starting a server
app.listen(port, () => {
  console.log(`app is running at ${port}`);
});

我们必须在同一目录中创建另一个名为route.js的文件

route.js文件的代码

const express = require("express");
const router = express.Router();
  
router.param("userId", (req, res, next, id) => {
    console.log("This function will be called first");
    next();
});
  
router.get("/user/:userId", (req, res) => {
    console.log("Then this function will be called");
    res.end();
});
// Export router 
module.exports = router;

通过输入以下命令启动服务器

node app.js

在浏览器中输入以下地址

http://localhost:8000/user/343

您将在终端中看到以下输出