• Trimpath Template 及JS模板引擎原理


    这个是一个很老的JS模板引擎。看了下源码,理解下模拟条件语句的替换原则。感觉有点复杂~

    简记之。

    如果不涉及条件语句,可以直接在代码里构建模板,ajax请求回来的数据套用即可。最原始方式。

    Trimpath JavaScript 是个轻量级的,基于JavaScript的,跨浏览器,采用APL/GPL开放源代码协议的,可以让你轻松进行基于模板编程方式的纯JS引擎。

    它有如下的特点:
    1、采用标准的JavaScript编写,支持跨浏览器
    2、模板语法类似于:FreeMarker,Velocity,Smarty
    3、采用简易的语言来描述大段的字串以及Dom/DHTML操作
    4、可以很方便的解析XML文件格式的数据到指定模板。

    采用该引擎,可以让它来完全处理View方面的事情,服务端Module直接输出Data就可以。让你的MVC模式连成一体,而且由于View由浏览器来处理,大大减少了服务器的负担,用来构建Ajax技术的网络信息系统应用是一个非常好的选择。

    几个API:

    processDOMTemplate、process、parseDOMTemplate等,用于解析DOM结构、填充数据。

    像vm、jd这些,在目前公司内基本是由后端人员处理。个人以为,这种与页面相关的东西还是由前端来处理比较快捷,而事实也证明,尽管模板里有数据及业务逻辑的处理,前端处理的效率还是高于后端人员的。

    如果一些不能放在vm里,需要动态渲染的结构,就会建议使用模板,ajax请求的数据,去渲染的时候,如果逻辑稍微一复杂,就想找点省事的,于是慢慢积累,便出现了JS模板引擎。市面上有各种各样的模板引擎,特别是在大前端、NodeJS的环境里。可对比使用。

    模板的应用一般都比较简单,初始化下,请求个带数据参数的方法,基本搞定。

    而模板的原理也不是很复杂,有一个准则:设置一个规则,解析这个规则。能够自圆其说。

    性能和调试,也是在写模板引擎时需要注意的一项。

  • 相关阅读:
    .Net动态生成RDLC报表(二)
    Gridview动态绑定
    Javascript中escape(), encodeURI()和encodeURIComponent()之精析与比较
    Hashtable简单应用
    Gridview模板列中textbox 按Enter切换到下一个textbox
    DataTable两列转换四列
    一:怎样运行python程序
    三:python 对象类型详解一:数字(上)
    八:python 对象类型详解四:字典
    六:python 对象类型详解二:字符串(下)
  • 原文地址:https://www.cnblogs.com/hanyuxinting/p/4073840.html
Copyright © 2020-2023  润新知