• 前端模板引擎


    个人感觉前端用模板引擎主要是为了减少字符串拼接,提高渲染速度(插值 循环 判断 缓存 部分更新),主要研究了Handlebars artTemplate nodetpl三个模板引擎

    Handlebars

     handlebars 的特点是兼容 Mustache 语法,多数情况下可以直接迁移,有一个颇有中间件感觉的 helpers 的方法,可以定制很多东西处。handlebars是个很不错的模版引擎,功能强大,但是比较重,如果项目颇大,对模版有较强的要求又不想用 ng 等框架的话,可以考虑。

    nodetpl

     与其他几乎所有模板引擎不同的是,nodetpl提倡 “高内聚”、“低耦合” 的开发模式,模板即是一个完全独立的模块,可以携带自身 css 及 js 用在任何地方而不受约束,这一点,其他模板引擎很难能够完美支持,这也是为什么国内许多大型互联网站点采用 nodetpl 作为模板引擎的原因。

    artTemplate

     模版就看你的需要了,大同小异,模版引擎的关键是执行速度吧,渲染的效率才是最重要的。不然还不如自己拼个html。。。对于执行速度,不得不提模板“编译速度”和“渲染速度”。市面上几个主流模板都支持将模板预编译,然后再渲染。 有一篇文章《高性能JavaScript模板引擎原理解析》,说artTemplate的速度达到理论极限

     模板引擎间对比artTemplate相对比较有优势,小又快,目前我们项目也支持artTemplate使用。但vue自带模板引擎,而且能实现数据的双向绑定,Vue.js 的核心是一个响应的数据绑定系统,它让数据与 DOM 保持同步非常简单。

     相对于我们的项目建议使用 模板字符串+vue1,在小型项目中可以使用es6的模板字符串,如模板字符串不能满足需求可使用vue1。vue2虽然提供了虚拟dom提升了页面的刷新速度,如果虚拟DOM可以一次性进行批量的修改是非常好的。但是如果是单独的、稀少的更新呢?这样的任何DOM更新都将会使虚拟DOM带来无意义的预计算。因此,如果某个项目只有较少数量的节点,那么使用虚拟DOM会带来速度上质的变化么?实际上更可能的是使其更慢了!

    各个模板引擎下载地址:

    baiduTemplate:  http://baidufe.github.io/BaiduTemplate/

    artTemplate: https://github.com/aui/artTemplate

    juicer: http://juicer.name/或https://github.com/PaulGuo/Juicer/zipball/master#download

    doT:doT source:https://github.com/olado/doT   Docs:http://olado.github.com/doT/

    tmpl:https://github.com/BorisMoore/jquery-tmpl

    handlebars:http://handlebarsjs.com/或https://raw.github.com/wycats/handlebars.js/1.0.0-rc.4/dist/handlebars.js

    easyTemplate:https://github.com/qitupstudios/easyTemplate

    underscoretemplate: http://documentcloud.github.io/underscore/

    mustache:https://github.com/janl/mustache.js

    kissytemplate:https://github.com/ktmud/kissy

  • 相关阅读:
    jQuery 取选中的radio的值方法
    点击不同的span,追加当前class属性,并移除其他span
    Visual Studio快捷键
    hadoop官网介绍及如何下载hadoop(2.4)各个版本与查看hadoop API介绍
    TCP的状态
    圣思园java se培训总结(82-)(观察者设计模式)
    圣思园java se培训总结(78-)(swing的设计模式,观察者设计模式)
    圣思园java se培训总结(69-)(Annotation,异常处理)
    圣思园java se培训总结(58-)(java1.5新特性,可变参数,包装类)
    圣思园java se培训总结(52-)(泛型)
  • 原文地址:https://www.cnblogs.com/webrqy/p/6835289.html
Copyright © 2020-2023  润新知