Javascript模板引擎分享

7 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语言学习:size_t

在学习C语言的时候,遇到了一个新的数据类型size_t,截止目前也没有完全理清这个类似的具体场景及出现的原因。
44 sec read

C语言学习:main()函数的正确写法

C语言虽然是一门古老的语言,但是其标准一直在完善,所以很多以前支持的语法在到当前已经不能在使用了。 C语言的版
41 sec read

Scipy数学函数的Scala实现

最近在推进项目的时候,遇到需要将线下的Python代码转化成线上的集群代码,由于机器代码环境是Scala,所以
4 min read

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

发表评论

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