gpt4 book ai didi

javascript - 如何将路由器放入路由器内部

转载 作者:行者123 更新时间:2023-11-29 20:29:31 24 4
gpt4 key购买 nike

我创建了一个/admin 页面,它本身是从 index.js 页面路由过来的。现在我想通过路由器访问admin/add。但是,我无法将路由器放在路由器内部。

这是我的管理员代码

var express = require('express');
var router = express.Router();

const addNewProductRouter = require('./../controller/admin-controllers/add-new-product');
router.use('/add', addNewProductRouter );

router.get('/', function (req,res) {

if (req.session.userId){
//Assigns user id to be used in whole admin area
userId = req.session.userId;

console.log("Session test from admin " + userId)
res.render('./../views/admin/admin.pug');

} else {
res.send("You need to login first!");
}
})

这是我添加新产品的代码

const express =require('express');
const router = express.Router();

router.post('/', (req,res) => {
console.log("I reached add side");
})

module.exports = router;

最佳答案

假设您有这样的 app.js

...
router.use('/admin', DashboardRouter );
router.use('/admin/product', ProductRouter );
router.use('/admin/another-route', AnotherRouteRouter );

如果你想让 admin 作为你可以做的所有路由的前缀

router.use('/', DashboardRouter );
router.use('/product', ProductRouter );
router.use('/another-route', AnotherRouteRouter );

然后

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

并且您的产品路线文件将包含所有子路线

const express =require('express');
const router = express.Router();

router.post('/add', (req,res) => {
console.log("Add route");
})

router.delete('/delete/:id', (req,res) => {
console.log("Delete route");
})

module.exports = router;

因此您的路线将如下所示:

/管理员

/admin/product/add

/管理/产品/删除

关于javascript - 如何将路由器放入路由器内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58669000/

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