CNode

初学node,想请教一下express中根据不同url给不同请求,但是不存在的请求如何处理

问答
Ddixiaoping发布于8 年前最后回复8 年前5 回复4075 浏览0 收藏

image.png 我用的router,但是不知道不存在的router请求如何处理,例如 image.png 可以有内容,但是我的路径后边随便加一个不存在路径参数如何给一个404页面 image.png 是通过路由控制吗?

查看回复

回复 (5)

L
liupei1995#1·8 年前

express文档中有提供错误处理的操作,希望对你有帮助 http://www.expressjs.com.cn/guide/error-handling.html

F
forl#3·8 年前

应该是类似这样的:

router.get('*', function(req, res){
  res.sendfile('./public/404.html');
});

建议看完档:https://expressjs.com/en/guide/routing.html

L
lipengzhou#4·8 年前

在路由最后加一个统一处理中间件:

// 挂载路由,代码略...

app.use((req, res, next) => {
  res.render('404.html')
})

// 其它代码...

上面代码一定要放在所有路由中间件之后,原理就是当前面没有任何一个路由可以处理的时候,程序就会走到最后这个中间件,然后就可以当作 404 来处理了。

参与回复
登录后即可参与回复。登录