express没有匹配的路由处理(404错误处理)

文章参考

  1. node使用express中对于不存在路径如何处理(404页面处理)

问题描述

在写express路由笔记的时候,突然想到,如果用户输入的地址无法匹配我定义的路径怎么处理?刚开始在网上查关于express路由不匹配的问题,怎么都找不到我
想要的结果,隔了一天,发现不就是404错误的问题吗

解决办法

const express = require("express");
const http = require("http");
const app = express();

////////////////////// 利用文件来拆分路由的规模 /////////////////////////////
var router1 =  require('./routes/router1');
app.use('/router1', router1);

////////////////////// 所有路由定义完之后,最后做404处理 /////////////////////////////
app.get('*', function (req, res){
    console.log('404 handler..')
    res.render('common_page/404.html', {
        status: 404,
        title: 'NodeBlog',
    });
});

http.createServer(app).listen(3000);

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

阅读更多

没有更多推荐了,返回首页