如何解决如何管理多个Express路由器以相互重定向
我正在使用Express。
我遇到了一个问题,我无法从一个路由文件夹重定向到另一个路由文件夹。 为了进一步说明,我在同一位置有app.js和路线文件夹。
这是我的app.js路由中间件
app.use(homeRoutes);
app.use('/blog',apiRoutes);
我有一个用于获取请求的中间件,如下所示:
// in routes/homeRoutes.js
router.get('/',(req,res) => {
res.redirect('/blog');
});
应该链接到
// in routes/apiRoutes.js
router.get('/',blogController.blog_index);
和
// in controller
const blog_index = (req,res) => {
Blog.find().sort({ createdAt: -1 })
.then(result => res.render('index',{ blogs: result,title: "List" }) )
.catch(err => console.log(err));
但是,我收到404错误。 但是,当我将下面的代码移至app.js时,它可以工作。
// in routes/homeRoutes.js
router.get('/',res) => {
res.redirect('/blog');
});
我想知道如何使它在两个单独的路由文件中工作。 这样我就可以组织和使我的项目尽可能整洁。
请让我知道其解决方案以及您可以给我的其他建议。 预先非常感谢。
解决方法
在routes / homeRoutes.js中,您应该这样写
const express = require('express);
const router = express.Router();
router.get('/',(req,res) => {
res.redirect('/blog');
});
module.exports = router;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。