1、什么是模板引擎
模版引擎将数据变成视图的优雅的解决方案
例如:v-for 就是一种模板引擎
2、历史上曾经出现的数据变视图的方法
纯Dom(js最原始的api appendChild)=>
数组join (代码格式很优雅,以字符串的思维 :‘’+a.neme+‘’添加到里边,innerHtml进去)=>
反引号 模版字符串=> 比join又进阶了 但是也是innerHtml的思维
模板引擎
底层核心机理
1、mustache 能不能用正则表达式实现:不能
处理方法:拿到渲染的字符串,对双大括号的内容进行替换 replace方法+data智能替换,但是复杂的情况时,没办法替换,比如循环、dom复杂的等等。
2、mustache 怎么处理的
tokens:JS 的嵌套数组 模版字符串的JS表示
字符串=>数组
例如:
text和name的类型,text:纯文本 name:data获取
mustache有两个事情要做:
1、模板字符串编译成tokens
2、tokens 结合data生成dom