小草根

基于 JS artTemplate 模板引擎 Template 加载的优化

作者:小草根   发布时间:2015-03-18 11:25   回复数:1   浏览数:562
小草根
5621小草根管理员
2015-03-18 11:25:16
5621 2015-03-18 11:25:16
artTemplate (http://aui.github.io/artTemplate)一种全新的 javascript 模板引擎,它采用了预编译的方式让性能有了质的飞跃,并充分利用 javascript 引擎特性,使得其性能无论在前端还是后端都有极其出色的表现。但是在实际应用中我们发现,和Ajax配合后通常会产生很多的 Template,这些 Template 都堆积在页面源码中时间一长难免会越来越多,影响页面加载的字节数,让页面越来越大。
我们对此进行了优化,由于我们的业务主要是针对移动产品的,因此我们可以放心的使用 HTML5 的 localStorage 进行缓存操作,缓存部分代码如下:
<script id=\"header\" type=\"text/html\">
<div class=\"header\"><h3><%= header.name %></h3></div>
</script>

<script id=\"hotList\" type=\"text/html\">
<ul>
    <% for(i = 0; i < list.length; i++){ %>
        <li tid=\"<%= list.tid %>\"><%= list.subject %></li>
    <% } %>
</ul>
</script>

······在我们使用的时候,直接引用文件即可,如下:
TC.load(\"tmpl/tpl_list.html\");首次访问此函数时,会调用 tmpl/tpl_list.html 文件并缓存到 localStorage 中,以后会直接从 localStorage 中获取 Template 的内容,直到 TC.VERSION 中的值变化,才会重新调用文件.从而减少了主页面请求的字节数.用过 artTemplate 的人会习惯直接把一些内容很短的模板直接写在 JS 里,类似下面
template.compile('header', '<div class=\"header\"><h3><%= header.name %></h3></div>');
当然这样更省事。
此方案的是保证减少页面请求字节及页面请求数的目的下还能做到方便维护而提供的!

此功能在打通版微社区中实现!

来自建站学习研究资源开放平台【www.cgzz8.cn
goodku
沙发goodku步入草根 2015-03-18 16:51
非常高兴遇到这么好的帖子 谢谢
游客
登录后才可以回帖,登录 或者 注册