正则路由的定义

要求:可以根据自己设定的正则匹配路径来执行相对应的函数来响应用户的内容

1、设定正则的匹配路径和响应的执行函数

app.on('^/$',(req,res)=>{
    res.setHeader("content-type","text/html;charset=utf-8")
    res.end("<h1>这是首页</h1><img src='./static/example.jpg'>")
})

2、获取正则路径创建正则对象

let reg = new RegExp(regStr,'igs');

3、匹配路径,并调用相对应的函数

if(reg.test(req.url)){
    this.reqEvent[key](req,res);
    resState = true
    break;
}

4、判断是否正则响应过,如果响应过,将不再响应,不能重复响应,会报错

if(pathObj.dir==this.staticDir && !resState){
        res.setHeader("content-type",this.getContentType(pathObj.ext))
        let rs = fs.createReadStream('./static/'+pathObj.base)
        rs.pipe(res)
}else if(!resState){
    res.setHeader("content-type","text/html;charset=utf-8")
    res.end("<h1>404!页面找不到</h1>")
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容