摘要: 在上一篇中我们已经将模板解析为了一条条的js语句,那么只要把这些语句连起来,构造一个可执行函数,然后传入模板数据,就可以得到填充过数据的html片段。 ```javascript // 构造渲染函数 function buildRender(scriptTokens) { var codeArr = 阅读全文
posted @ 2023-08-30 17:18 Fogwind 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 编译模板的时候,我们可以使用`Function`构造函数构建出可执行的js代码,但关键点是如何把模板数据和构建的js代码关联起来。 比如前面的模板字符串例子: ```html ``` 这个例子中,我们关心的是变量`list`的值如何确定。 有两种思路可以实现,先介绍第一种,比较复杂的做法。 ## 解 阅读全文
posted @ 2023-08-30 17:10 Fogwind 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 模板语法规则: - 变量渲染使用 `` 语法; - 条件判断使用 ` `js语法; - 列表渲染使用 ` ` js语法; - 模板注释使用 ``; 下面我们一步步的实现一个正则表达式来识别出模板语法规则部分。 ## 正则匹配 语法规则以``结尾,对应正则为 `//`。 > 关于正则表达式的贪婪模式和 阅读全文
posted @ 2023-08-30 17:05 Fogwind 阅读(48) 评论(0) 推荐(0) 编辑
摘要: >本系列文章是学习[art-template](https://github.com/aui/art-template)和[template.js](https://github.com/yanhaijing/template.js)的总结。 js模板引擎的用法大致如下: 1. 模板 ```html 阅读全文
posted @ 2023-08-30 17:02 Fogwind 阅读(26) 评论(0) 推荐(0) 编辑