head-img Force's Blog

Koa2增加404状态拦截并显示自定义404页面

Node.js,JavaScript

以笔者当前package.json为例

 "@koa/router": "^12.0.0",
 "koa": "^2.14.1",
 "koa-bodyparser": "^4.4.0",
 "koa-session": "^6.4.0",
 "koa-static": "^5.0.0",
 "koa-views": "^8.0.0",
 "ejs": "^3.1.9",

添加拦截404代码。
use一个匿名同步函数,回调ctxnext
ctx.status返回404时,先渲染或引用404页面,再重新输出ctx.status = 404

    app.use(async (ctx, next) => {
           await next();
           if(ctx.status === 404) {
               ctx.body = await ctx.render('manage/404');
               ctx.status = 404;
           }
       });
    app.listen(80);

重新启动项目

访问不存在路由,输出404页面并返回http404
WX20230420-140305@2x.png,

点我评论
打赏本文
二维码


125

文章

14

标签

 访客统计  Update-******