文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

10个优秀开源JavaScript模板引擎

2024-12-24 22:08

关注

1. Art-template

Art-template是一个简单且超快速的模板引擎,可通过范围预先声明的技术优化模板渲染速度。它实现了接近JavaScript极限的运行时性能。同时,它支持NodeJS和浏览器。

  1. https://github.com/aui/art-template 
  2.  
  3. var template = require('art-template'); 
  4. var html = template(__dirname + '/tpl-user.art', { 
  5.  user: { 
  6.  name: 'aui' 
  7.  } 
  8. }); 

2. DOT

为了最快,最简洁的JavaScript模板功能,重点是在V8和Nodejs下的性能。它对Node.js和浏览器均显示出出色的性能。doT.js快速,小巧且没有依赖性。

  1. https://github.com/olado/doT 
  2. Hi {{=it.name}}! 
  3. {{=it.age || ''}} 

3. JavaScript-Templates

快速且强大的JavaScript模板引擎,零依赖。与node.js之类的服务器端环境,RequireJS之类的模块加载器以及所有Web浏览器兼容。

  1. https://github.com/blueimp/JavaScript-Templates 

4. Template.js

JavaScript模板引擎,简单易用,支持webpack和fis。提供了一组模板语法,用户可以编写一个模板块。每次传入数据时,生成由相应数据生成的HTML片段,呈现不同的效果。

  1. https://github.com/yanhaijing/template.jsconst data = { list: [ {name: "yan"}, {name: "haijing"} ]}; 
  2.  <%for(var i = 0; i < list.length; i++) {%>  
  3. <%:=list[i].name%> 
  4.  <%}%> 

5. Tempo

Tempo是一个简单,直观的JavaScript渲染引擎,能够以纯HTML格式制作数据模板。关注点分离:JavaScript文件中没有HTML,HTML中也没有JavaScript;轻松处理AJAX / JSON内容,可在Safari,Chrome,FireFox,Opera和Internet Explorer 6+中运行

  1. https://github.com/twigkit/tempo 

6. ECT

声称具有嵌入式CoffeeScript语法的最快的JavaScript模板引擎。具有出色的性能,模板缓存,自动重新加载已更改的模板和模板中的CoffeeScript代码

  1. https://github.com/baryshev/ect 
  2.  
  3. var ECT = require('ect'); 
  4.  
  5. var renderer = ECT({ root : __dirname + '/views', ext : '.ect' }); 
  6.  
  7. renderer.render('page', { title: 'Hello, World!' }, function (error, html) { 
  8.     console.log(error); 
  9.     console.log(html); 
  10. }); 

7. Dot Dom

.dom从React.js借用了一些概念(例如可重用的组件和虚拟DOM),并尝试利用ES6 javascript功能以最小的占用空间复制它们。该库的大小不超过512个字节。正在大力利用ES6规范。

  1. https://github.com/wavesoft/dot-dom 
  2.  
  3. function Clickable(props, state, setState) { 
  4.  const {clicks=0} = state; 
  5.  
  6.  return H('button', 
  7.  { 
  8.  onclick() { 
  9.  setState({clicks: clicks+1}) 
  10.  } 
  11.  }, 
  12.  `Clicked ${clicks} times` 
  13.  ); 
  14.  
  15. R( 
  16.  H('div', 
  17.  H(Clickable), 
  18.  H(Clickable) 
  19.  ), 
  20.  document.body 

8. Template7

Template7是第一个具有类似Handlebars语法的移动优先JavaScript模板引擎。它在Framework7中用作默认模板引擎。它是超轻量级的(缩小并压缩成1KB左右)并且运行迅速(比mobile Safari中的Handlebars快2-3倍)。

  1. https://github.com/nolimits4web/template7 
  2.   
  3.  {{#each items}}  
  4.   
  5.   
  6. {{title}} 
  7.   
  8.   
  9.  {{/each}}  

9. Bunny

BunnyJS是现代的原生JS和ES6库以及下一代前端框架,无依赖性的小型独立组件的软件包。它没有依赖性-可以随时随地在任何项目中使用

  1. https://github.com/Mevrael/bunny 
  2.  
  3. import { Component as BunnyComponent } from 'bunnyjs/src/...'; 
  4.  
  5. export const Component = Object.assign({}, BunnyComponent, { 
  6.  
  7.  init(arg) { 
  8.  // do whatever you want 
  9.  console.log(arg); 
  10.  
  11.  // call default (parent) 
  12.  return BunnyComponent.init(arg); 
  13.  } 
  14.  
  15. }); 

10. Squirrelly

Squirrelly是使用JavaScript实现的现代,可配置且功能强大的快速模板引擎。它在ExpressJS开箱即用,完整版压缩后仅约2.2KB。

  1. https://github.com/squirrellyjs/squirrellyvar myTemplate = " 
  2. My favorite kind of cake is: {{favoriteCake}} 
  3. "Sqrl.Render(myTemplate, {favoriteCake: 'Chocolate!'})// Returns: ' 
  4. My favorite kind of cake is: Chocolate! 
  5.  
  6.  
  7.  
  8. {{if(options.somevalue === 1)}} 
  9. Display this 
  10. {{#else}} 
  11. Display this 
  12. {{/if}} 
  13.   
  14. {{each(options.somearray)}} 
  15. Display this 
  16. The current array element is {{@this}} 
  17. The current index is {{@index}} 
  18. {{/each}} 

总结

Javascript的模板引擎相对较多,从性能、简单性、易用性等方面会有所不同,开发者们可以根据不同的角度去选择一个合适的模板引擎用于项目研发或者重构,Enjoy it!

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯