初学node,想请教一下express中根据不同url给不同请求,但是不存在的请求如何处理
 发布于 7 年前  作者 dixiaoping  3777 次预览  最后一次回复是 7 年前  来自 问答 

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

5 回复
liupei1995

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

dixiaoping

谢谢,我看看

forl

应该是类似这样的:

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

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

lipengzhou

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

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

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

// 其它代码...

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

dixiaoping

已经实现了,谢谢