发布快速路由问题

时间:2018-09-01 20:58:41

标签: node.js express mern

我收到错误提示。

无法获取/ todoListItem

不确定为什么会出现此错误,因为在研究和阅读文档后,如下所示的路线看起来正确定义了。

       //@route GET to do list page route
        router.get('/showToDoList', function(req, res) {
            res.redirect('/todoListItem');
        });

  module.exports = router;

在我的server.js中,我以此方式限制了我的应用使用。

var indexRouter = require('./routes/index');
var todoListItemRouter = require('./routes/todoListItem')

//Bodyparser MiddleWare
app.use(bodyParser.json())

// Add to do list routes to middleware chain.
app.use('/', indexRouter);
app.use('/showToDoList', todoListItemRouter); 

在我的todoListItem.js中,我正在调用控制器。

//@route GET all do list items from user.
router.get('/todoListItem', todoList_controller.todo_lists)

我不确定为什么会出现上面显示的错误。我的文件目录已实现

-routes
 -- index.js
 -- todolistItem.js

在我的server.js文件中,我正在执行路由逻辑。任何了解我的问题的帮助将不胜感激。这是我的github仓库以获取更多信息 https://github.com/OlooAllaN/ToDoList-Project

1 个答案:

答案 0 :(得分:0)

您无法获取该文件,因为没有为/ showToDoList定义路由。

app.use('/showToDoList', todoListItemRouter);告诉Express将所有匹配“ / showToDoList”的请求指向该路由器。通过使用“ / showToDoList / route1”,“ / showToDoList / route2”,“ / showToDoList / showToDoList”访问todoListItemRouter中定义的任何路由。

执行此操作的正确方法是在todoListItemRouter内将路由编辑为此:

//@route GET all do list items from user.
router.get('/', todoList_controller.todo_lists)

这将完成您正在寻找的影响。有关使用外部路由文件的更多信息,请参见Express Docs