📅  最后修改于: 2023-12-03 15:14:57.226000             🧑  作者: Mango
在 Express.js 中列出所有路由可以帮助程序员更好的了解整个应用的路由结构,方便维护与调试。
express-list-routes
模块可以帮助我们在控制台上列出所有的路由,安装方法如下:
npm install express-list-routes
在应用中使用 express-list-routes
,示例代码如下:
const express = require('express');
const listEndpoints = require('express-list-endpoints');
const app = express();
// 定义路由
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.get('/user/:id', (req, res) => {
res.send(`User ID: ${req.params.id}`);
});
// 打印路由信息
console.log(listEndpoints(app));
使用以上代码在控制台上输出的结果如下:
## 首页 /
- GET
## 用户信息 /user/:id
- GET
手动遍历所有路由的方法很简单,只要遍历 app._router.stack
数组中的中间件即可,示例代码如下:
const express = require('express');
const app = express();
// 定义路由
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.get('/user/:id', (req, res) => {
res.send(`User ID: ${req.params.id}`);
});
// 遍历路由
app._router.stack.forEach((middleware) => {
if (middleware.route) {
// 路由信息
console.log(`${Object.keys(middleware.route.methods)} - ${middleware.route.path}`);
}
});
使用以上代码在控制台上输出的结果如下:
GET - /
GET - /user/:id
以上两种方法均可以帮助我们有效地列出所有路由信息,使得程序员更加方便地维护与调试应用。