簡體   English   中英

如何管理多個 Express 路由器以相互重定向

[英]How to Manage Multiple Express Router to Redirect One Another

我正在使用快遞。

我遇到了一個問題,我無法從一個路由文件夾重定向到另一個路由文件夾。 為了進一步解釋,我在同一個地方有 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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM