- 根据规则去解析链接,并且获取ID或者索引值
// 请求路径,http://127.0.0.1/movies/1
let pathObj = path.parse(req.url);
let index = pathObj .base;
- 根据索引获取数据
let movies = [
{
name:"极品芝麻官",
brief:"新版《极品芝麻官》以一起豪门冤案为线索,讲述了江南状师马如龙狡滑多智,精通律法,战无不胜,偶然遇上微服私访的皇叔王亲裕,并收为徒弟。此时,恰遇富豪唐家忽然发生变故,唐家老爷突然身亡,妾室连不染被当做凶手关入大牢。马如龙疑心另有真凶,决心为她洗刷冤屈,不料却因此惹上祸事,马如龙才意识到他陷入层层圈套之中……",
author:"张震"
},{
name:"中国飞侠",
brief:"李安全是一位外卖员,他期望用自己的努力让妻子和女儿在北京过上体面生活。但却接连遭遇打击:女儿重病,需要一笔高额手术费;夫妻不睦,妻子断然离开;偷着去干代驾,又撞了豪车……一个外乡人,如何在北京站稳脚跟?一个中年人,如何用信念征服现实?一个好人,如何在世俗和偏见中坚守善良本真?李安全用行动向我们呈现了生命的硬",
author:"许君聪"
}
]
let index = rpathObj .base;
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{
console.log(data);
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);
}
})
}