gpt4 book ai didi

node.js - express.js 路由代码定位,有关系吗?

转载 作者:太空宇宙 更新时间:2023-11-03 22:58:36 25 4
gpt4 key购买 nike

放置路线代码重要吗?

我问的原因是因为当我定位我的 res.render("new") 代码时向页面下方,路由不起作用。如果我把它放在上面更高的位置,它就会相应地路由。例如,

router.get("/tag/:id", controller.showBlog);
router.get("/:id/edit", controller.editBlog);

router.get("/new", function (req, res) {
res.render("new")});

上面的代码..无法路由到new.ejs...没有错误,将我推回索引。

router.get("/new", function (req, res) {
res.render("new")});

router.get("/tag/:id", controller.showBlog);
router.get("/:id/edit", controller.editBlog);

上面的代码..能够路由到new.ejs

更新已解决。

虽然显示的示例代码与上面不完全一样,这确实是由于 get("/:id") 路由位于 get("/new") 之上导致 ("/:id") 在到达 ("/new") 之前被调用。换句话说,定位您的路线很重要。

我还运行了 set DEBUG=express:* & node app.js

这是工作所需结果的日志。

Correct Route

这里是我的路由代码的错误放置的日志。

显示有问题的订单项。

Incorrect Route

最佳答案

这些是您的应用程序中唯一的路由吗?对于你所描述的路线来说,这应该不重要。但请考虑以下几点:

app.get('/:id', function (req, res) {
// this will match all /a, /b .. including /new
res.end('done!');
});

app.get('/new', function (req, res) {
// this is never called
res.end('done!!');
});

在上述场景中,/new 处理程序永远不会被调用。

关于node.js - express.js 路由代码定位,有关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53580721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com