美文网首页
正则路由的定义

正则路由的定义

作者: 十八句 | 来源:发表于2020-07-22 22:23 被阅读0次

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

    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>")
    }
    

    相关文章

      网友评论

          本文标题:正则路由的定义

          本文链接:https://www.haomeiwen.com/subject/jkdxlktx.html