Javascript模板引擎分享

9 sec read

模板引擎的主要功能就是把变化的数据融入到不变的模板中,并生成最终结果。目前,前端的主要数据格式无非是XML和JSON。如何将这些数据更加方便的呈现呢?

最近看了很多的PHP模板引擎,今天看到了一个非常棒的Javascript模板引擎,用以更方便的呈现前台数据。它的一个超级简单的、快速的,高速缓存的,非常容易使用的模板引擎。

下面就来看下这个模板引擎是如何工作的。

Currying 的意思为将原来的函数只可带一个参数列表以多个参数列表(注意不是多个参数)实现,如:def foo(x)(y)(z){}。

上面的只是具体实现的JS库,那到底怎么使用呢?

或是这样

上面的使用代码中出现了一个特别的script内容类型text/html,这样的类型浏览器就不要去执行其中的内容,用户也就看不到其中的内容。这样就可以非常简单的把你想要的内容模板嵌入到你的页面中。这是一种快速的曲线救国的策略。

讲了这么多,那么怎么把数据给模板引擎呢,这还需使用Javascript来实现:

同样的你可以预先编译好需要呈现的代码供后面的使用,如下面的循环:

以上就是全部代码,整个逻辑非常的清晰,就是把模板语言“编译”为Javascript的原生语法。这个引擎的优点在于:

  1. 可以使用任何Javascript支持的语法。
  2. Parse模板的过程在闭包内执行,不会产生全局变量。
  3. 对“编译”后的模板进行了缓存,下次可以跳过“编译”的过程直接使用。

最后大家还是要试一下才知道好不好用。

原代码地址:http://ejohn.org/blog/javascript-micro-templating/

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

含C/C++代码包Anaconda安装问题

上篇文章主要讲了libffm在Windows系统下安装遇到的问题,今天在Linux环境下的Anaconda中安
1 min read

FFM/libffm在Windows上的使用

FFM 的作者Yu-Chin Juan在GitHub上开源了C++版本的代码libffm,由于日常的数据处理都
5 min read

使用Python获取照片Exif信息

什么是Exif? Exif(Exchangeable image file format)是专门为数码相机的照
4 min read

One Reply to “Javascript模板引擎分享”

ftium4进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注