Express.js router.all()函数
router.all()函数与 router.METHOD() 方法一样,只是它匹配所有 HTTP 方法(动词)。这对于为任意匹配或特定路径前缀映射全局逻辑非常有帮助。
句法:
router.all(path, [callback, ...] callback)
参数: path参数是指定URL的路径,callback是作为参数传递的函数。
返回值:它返回响应。
express模块的安装:
- 您可以访问安装 express 模块的链接。您可以使用此命令安装此软件包。
npm install express
- 安装 express 模块后,您可以使用命令在命令提示符下检查您的 express 版本。
npm version express
- 之后,您可以创建一个文件夹并添加一个文件,例如 index.js。要运行此文件,您需要运行以下命令。
node index.js
示例 1:文件名:index.js
var express = require('express');
var app = express();
var router = express.Router();
var PORT = 3000;
// Setting single route
router.all('/user', function (req, res) {
console.log("User Page Called");
res.end();
});
app.use(router);
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});
运行程序的步骤:
- 项目结构将如下所示:
- 确保您已使用以下命令安装express模块:
npm install express
- 使用以下命令运行 index.js 文件:
node index.js
输出:
Server listening on PORT 3000
- 现在向http://localhost:3000/user发出任何请求,例如 POST、PUT、DELETE 或任何其他类型的请求,它将显示以下输出
User Page Called
向http://localhost:3000/user发出的每种类型的请求都将打印相同的输出。
示例 2:文件名:index.js
var express = require('express');
var app = express();
var router = express.Router();
var PORT = 3000;
// Setting multiple routes
router.all('/user', function (req, res) {
console.log("User Page Called");
res.end();
});
router.all('/student', function (req, res) {
console.log("Student Page Called");
res.end();
});
router.all('/teacher', function (req, res) {
console.log("Teacher Page Called");
res.end();
});
app.use(router);
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});
使用以下命令运行 index.js 文件:
node index.js
现在向http://localhost:3000/user 、 http://localhost:3000/student和http://localhost:3000/teacher发出 GET 请求,它将显示以下输出。
User Page Called
Student Page Called
Teacher Page Called
参考: https://expressjs.com/en/4x/api.html#router.all