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的环境里。可对比使用。

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

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

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

原文地址:https://www.cnblogs.com/hanyuxinting/p/4073840.html