mustache底层核心机理
不能用简单的正则表达式思路实现
底层token思想
手写mustache库
1.遍历查找“{ { }}”(Scanner类)
scanner类:用于解析templateStr模板字符串
主要由两个方法
scan():跳过{ {
scanUtil(): 让指针进行扫描,知道遇见指定内容结束,并且能够返回之前路过的文字
index.js
import Sanner from "./Sanner";
window.WJY_TemplateEngine = {
// 渲染
render(templateStr,data) {
// 实例化一个扫描器,构造时提供模板字符串
var scanner = new Sanner(templateStr)
var word
while (!scanner.eos()) {
word = scanner.scanUtil('{
{')
console.log(word)
scanner.scan('{
{')
word = scanner.scanUtil(