javascript - 如何管理多个 Express 路由器以相互重定向
问题描述
我正在使用快递。
我遇到了一个问题,我无法从一个路由文件夹重定向到另一个路由文件夹。为了进一步解释,我在同一个地方有 app.js 和 routes 文件夹。
这是我的 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('/', (req, 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;
推荐阅读
- python - 在 Python 中将 0 更改为 False 并将 1 更改为 True
- python - 查找加密资产 robin_stocks 的功能
- java - 将 getText() 与 LocalDate Java 一起使用
- c++ - 我们是否需要在类的构造函数的开头清除向量类型的类成员?
- python - 循环文件并执行相同的操作
- spring - Spring Task Executor 线程数不断增加
- python - 我在 Python 中使用 EmailMessage 练习电子邮件
- r - 编程一个函数来显示飞镖游戏中可能的完成
- sql - 在 oracle sql 中使用 regexp_replace 标准化地址
- javascript - 错误:使用 toFixed() 无法将类型“字符串”分配给类型“数字”