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

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

5 回复

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

谢谢,我看看

应该是类似这样的:

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

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

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

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

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

// 其它代码...

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

已经实现了,谢谢

回到顶部