["isAdmin"]], function () { -6ren">
gpt4 book ai didi

node.js - 在 Express 中对路线进行分组

转载 作者:IT老高 更新时间:2023-10-28 23:24:30 25 4
gpt4 key购买 nike

我们可以在 Laravel 中像这样对我们的路线进行分组:

Route::group("admin", ["middleware" => ["isAdmin"]], function () {

Route::get("/", "AdminController@index");
Route::post("/post", ["middleware" => "csrf", "uses" => "AdminController@index");

});

基本上,admin 组中定义的所有路由都会自动获取 isAdmin 中间件和组名。例如,post 端点监听 admin/post 而不是 /post

有没有办法用 Express 做同样的事情?这太棒了,因为我的 Laravel 路线过去很干净,而我的 Express 路线有点困惑/重复。

这是我目前在 Express 上的 routes.js。

app.get("/admin", [passportConfig.isAuthenticated, passportConfig.isAdmin], AdminController.index);
app.post("/admin", [passportConfig.isAuthenticated, passportConfig.isAdmin], AdminController.postIndex);

谢谢。

最佳答案

从 express 4 开始,您可以定义和组合路由器

const app = require('express');
const adminRouter = app.Router();

adminRouter.use(isAdmin);
adminRouter.get('/', admin.index); /* will resolve to /admin */
adminRouter.post('/post', csrf, admin.index); /* will resolve to /admin/post */

app.use('/admin', adminRouter);

希望有帮助!

关于node.js - 在 Express 中对路线进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38894102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com