Express.js router.param()函数
router.param()的参数是name和函数 。其中name是参数的实际名称, 函数是回调函数。基本上,只要用户路由到参数,router.param()函数就会触发回调函数。即使用户多次路由到该参数,该回调函数在请求响应周期中也只会被调用一次。
句法:
router.param(name, function)
回调函数的参数有:
- req – 请求对象
- res – 响应对象
- next – 下一个中间件函数
- 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
在浏览器中输入以下地址
您将在终端中看到以下输出