资讯专栏INFORMATION COLUMN

轻量级模板引擎ArtTemplate

curried / 2098人阅读

摘要:这星期做了一个数据统计系统基于需求便使用了一个模板引擎来渲染数据在这里模板引擎同后端的不太一样主要是前端在开发过程中对于数据处理之后插入到的过程中使用到的工具由于系统是迷你型的在一通搜索之后便决定采用具有如下特点轻量级不到快速上手用法简单处

这星期做了一个数据统计系统,基于需求便使用了一个模板引擎来渲染数据.
在这里模板引擎同后端的不太一样,主要是前端在开发过程中,对于数据处理之后插入到html的过程中使用到的工具.

由于系统是迷你型的,在一通搜索之后便决定采用ArtTemplate.

ArtTemplate具有如下特点

轻量级(不到3kb)

快速上手,用法简单

处理速度快

常见的模板引擎还有handlebar,Mustache,jade等,我只试用过handlebar,个人感觉它太过于沉重,配置起来繁琐,并不适合小项目的数据渲染.

artTemplate提供了两种语法选择,原生语法和简洁语法

简洁语法

{{if admin}}
    {{include "admin_content"}}

    {{each list}}
        
{{$index}}. {{$value.user}}
{{/each}} {{/if}}

原生语法

<%if (admin){%>
    <%include("admin_content")%>

    <%for (var i=0;i
        
<%=i%>. <%=list[i].user%>
<%}%> <%}%>

模板引擎的原理是基于正则表达式,对字符串进行分析处理.
在两种语法中,简介语法易读性更好,用起来比较顺手,比原生语法只多了几k而已,推荐实用简洁语法

基本的用法不在此介绍,官网的链接写的很详细.主要语法如下.

var template = require("art-template");
var data = {list: ["aui", "test"]};

var html = template(__dirname + "/index/main", data);

最后贴一个好用的功能------过滤器
在arttemplate中定义为helper,也就是辅助器.这种工具我之前在写angular也使用到过,我觉得像ng中命名为过滤器更适合.它本意就是一个数据的过滤器,在过滤器中定义一些方法,使得渲染到页面的数据是你所需要的.

有点抽象,先贴一个官方的demo,是一个日期的过滤器.


辅助方法

上面的例子是完整的一个日期过滤器的例子,有需要直接复制使用即可.我自己在项目中是用到的是比较简单一点的,一个根据数据显示的不同输出对应的数据.
核心代码如下

就是一个简单的数据转换器,后面针对所有的对应关系将其写成了一个对象,再进行过滤

var typeOpt = {
    "init": "进入页面",
    ...
    "share1": "分享到朋友圈"
}

template.helper("typeFilter", function (type) {

    if (typeof type === "string") {
        for(let i in typeOpt ){
            if(type == i){
                return typeOpt[i];
            }
        }
    }


以上是helper的内容


最后arttemplate还有一个include的功能,类似php的include函数,不多介绍.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/90829.html

相关文章

  • 浅谈模板引擎artTemplate

    摘要:来给大家推荐一款模板引擎,会推荐这款模板引擎最主要还是他轻量级,代码简洁,好用,一个大概也才几左右。 对于前端开发者来说,有一个绑数据的模板是多么的幸福,不用我多说大家也知道,终于不用在js中一个个字符串拼接一大推元素数据啥的,可以省下我们很多时间。来给大家推荐一款模板引擎artTemplate,会推荐这款模板引擎最主要还是他轻量级,代码简洁,好用,一个template.js大概也才几...

    zeyu 评论0 收藏0
  • 浅谈模板引擎artTemplate

    摘要:来给大家推荐一款模板引擎,会推荐这款模板引擎最主要还是他轻量级,代码简洁,好用,一个大概也才几左右。 对于前端开发者来说,有一个绑数据的模板是多么的幸福,不用我多说大家也知道,终于不用在js中一个个字符串拼接一大推元素数据啥的,可以省下我们很多时间。来给大家推荐一款模板引擎artTemplate,会推荐这款模板引擎最主要还是他轻量级,代码简洁,好用,一个template.js大概也才几...

    caohaoyu 评论0 收藏0
  • 简单高效地JavaScript模板引擎——artTemplate

    摘要:是一个简单高效地模板引擎,相比于这种复杂的模板引擎,就显得很娇小。因为在的数组引用中那个没有类似于模板数组引用中的数组子项说明上面例子中的或者。 artTemple是一个简单高效地JavaScript模板引擎,相比于jsRender这种复杂的模板引擎,artTemple就显得很娇小。你几乎可以在网上任意搜一篇博客或者文章,10分钟的时间你就能基本的掌握它得用法(附上网站:http://...

    voyagelab 评论0 收藏0
  • js模板引擎——art Template

    摘要:简单介绍模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注。是新一代模板引擎,它采用预编译方式让性能有了质的飞跃,并且充分利用引擎特性,使得其性能无论在前端还是后端都有极其出色的表现。 简单介绍 javascript 模板引擎作为数据与界面分离工作中最重要一环,越来越受开发者关注。 artTemplate 是新一代 javascript 模板引擎,它采用预编译方式让性能有了...

    2i18ns 评论0 收藏0
  • 模板引擎artTemplate的使用

    摘要:引入文件写模板模板模板内容执行模板模板,数据此处的数据必须是对象格式不是对象要包装成对象的格式把模板生成的结构添加到页面目标位置如果目标位置没有其他的元素可以用如果目标位置还有其他的元素用追加1.引入template文件 2.写模板   模板内容 3.执行模板 var html = template(模板ID,数据)   **此处的数据必须是对象格式 不是对象要包装成对象的格式----...

    Imfan 评论0 收藏0

发表评论

0条评论

curried

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<