美文网首页
根据数据和模板动态生成页面

根据数据和模板动态生成页面

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

    1、根据规则去解析链接,并且获取ID或者索引值

    //请求路径,http://localhost/movies/1
    let index = req.pathObj.base;
    

    2、根据索引获取数据

    let movies = [
        {
            name:"雪暴",
            brief:"雪暴简介",
            author:"张震"
        },
        {
            name:"少年的你",
            brief:"少年的你简介",
            author:"周冬雨"
        },
    ]
    let pageData = movies[index]
    

    3、根据模板渲染页面

    res.render(movies[index],'./template/index.html')
    

    4、底层需要实现渲染函数,通过正则匹配,找到需要修改的地方进行一一修改

    function render(options,path) {
        fs.readFile(path,{encoding:"utf-8",flag:"r"},(err,data)=>{
            if(err){
                console.log(err)
            }else{
                let reg = /\{\{(.*?)\}\}/igs
                let result;
                while (result = reg.exec(data)){
                    //去除两边的空白
                    let strKey = result[1].trim()
                    let strValue = options[strKey]
                    data = data.replace(result[0],strValue)
                }
    
                this.end(data)
                
            }
        })
    }
    

    相关文章

      网友评论

          本文标题:根据数据和模板动态生成页面

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