最近做项目,发现express中router,对于不存在的路径如何处理直接看代码
引入router模块
路由页面
问题来了,对于用户输入不存在的路径改如何处理
比如127.0.0.1/2
但是不存在的路径,服务端如何给一个不存在的路径呢
比如127.0.0.1/ddgd
首先我们匹配一下,发现会匹配到/:id可以再这个函数里有一个next
我这边路径都是127.0.0.1/数字如果不是了,或则一个不存在的路径
只需要在路由最后加一个统一处理中间件:
// 挂载路由,代码略...
app.use((req, res, next) => {
res.render('404.html')
})
// 其它代码...
注意:上面代码一定要放在所有路由中间件之后,原理就是当前面没有任何一个路由可以处理的时候,程序就会走到最后这个中间件,然后就可以当作 404 来处理了。
或则加一个通配符操作
router.get('*', function(req, res){ res.sendfile('./public/404.html'); }); 可以参考地址
https://expressjs.com/en/guide/routing.html