#javascript #node.js #express #routes
#javascript #node.js #экспресс #маршруты
Вопрос:
Я использую Express.
Я столкнулся с проблемой, из-за которой я не могу перенаправить из одной папки маршрута в другую папку маршрута. Чтобы объяснить дальше, у меня есть app.js и папка routes в том же месте.
Это мой app.js маршрутизирует промежуточное программное обеспечение
app.use(homeRoutes);
app.use('/blog', apiRoutes);
У меня есть промежуточное программное обеспечение для запроса get, как показано ниже
// 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');
});
Я хотел бы знать, как заставить это работать в двух отдельных файлах маршрутов.
Чтобы я мог организовать и сделать свой проект максимально чистым.
Пожалуйста, сообщите мне о его решении и любых других советах, которые вы могли бы мне дать. Заранее большое вам спасибо.
Ответ №1:
в routes / homeRoutes.js вы должны написать это
const express = require('express);
const router = express.Router();
router.get('/', (req, res) => {
res.redirect('/blog');
});
module.exports = router;
Комментарии:
1. Я вставил это в routes/homeRoutes.js и это не сработало
2. я добавил app.js файл. поскольку у меня возникла проблема, о которой сообщалось, я прокомментировал
app.use(homeRoutes);
и создал маршруты в app.js3. Из обзора: @keppodon вы нажали не ту кнопку редактирования. Пожалуйста, отредактируйте сообщение, чтобы предоставить более подробную информацию о вашем приложении, вместо того, чтобы пытаться поместить их в ответ. Спасибо.