美文网首页
超轻量模板引擎

超轻量模板引擎

作者: Calvin_Lee | 来源:发表于2018-03-27 23:50 被阅读0次

还在痛苦的手工拼接HTML?

使用模板引擎渲染出目标HTMl,避免手工拼接的错误,同时增加模板代码的可读性。

话不多说,先看代码,此demo实现了一个轻量的模板引擎。

DEMO

模板引擎的核心

正则表达式的单元匹配,以及replace函数。

模板采用双大括号的形式来标识此处是模板插槽,匹配到的可以是一个变量,同时也可以是对象访问属性。

replace函数第二个参数,支持传入function配合正则的匹配。


/{{((\w+\.?)+)}}/g

正则表达式当中一个括号代表一个匹配组
\w 匹配字母、数字、下划线。等价于[A-Za-z0-9_]
+ 匹配前面的子表达式一次或多次
? 匹配前面的子表达式零次或一次

render 函数的实现

支持对象的属性访问


function render(tpl, data) {
    var reg = /{{((\w+\.?)+)}}/g
    return tpl.replace(reg, function(matchItem, keyName) {
        let keys = keyName.split('.');
        if (keys.length === 1) return data[keys[0]];
        let res = data;
        for (let item of keys) {
             res = res[item];
        }
        return res;
    })
}

相关文章

  • 超轻量模板引擎

    还在痛苦的手工拼接HTML? 使用模板引擎渲染出目标HTMl,避免手工拼接的错误,同时增加模板代码的可读性。 话不...

  • laravel 5 blade

    参考Blade 模板引擎。Blade是一个模板引擎(什么叫模板引擎,参考浅谈模板引擎),文件需要采用blade.p...

  • SpringBoot系列之集成jsp模板引擎

    SpringBoot系列之集成jsp模板引擎@[toc] 1、模板引擎简介 引用百度百科的模板引擎解释: 模板引擎...

  • node_模板引擎

    模板引擎 模板引擎的使用和集成,也就是视图。 什么是模板引擎模板引擎是一个页面模板根据一定得规则生成的html工具...

  • art-template模板引擎

    模板引擎 什么是模板引擎: 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产...

  • Lua admin后台开发 (6) 模板引擎的使用

    上一章节我们初步了解了如何使用模板引擎, 现在我们深入了解模板引擎. 什么是模板引擎 "模板引擎(这里指Web开发...

  • Ajax-02

    模板引擎 模板引擎概述 作用:使用模板引擎提供的模板语法,可以将数据和 HTML 拼接起来。官方地址: https...

  • 《PHP Learning》模板引擎

    《PHP Learning》模板引擎 模板处理使用正则处理模板替换规则保存模板编译结果 模板使用 自定义模板引擎 ...

  • 模板引擎原理

    # 模板引擎 ## 原理 ![模板引擎原理](F:\前端学习资料\模板引擎原理.jpg) ## 使用到的正则表达式...

  • 无标题文章

    # 模板引擎 ## 原理 ![模板引擎原理](F:\前端学习资料\模板引擎原理.jpg) ## 使用到的正则表达式...

网友评论

      本文标题:超轻量模板引擎

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