自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Github上開源的10大Javascript模板引擎,助力前端開發(fā)

新聞
目前前端主流的開發(fā)框架有Vue、React以及Angular等,但是依然有一部分開發(fā)人員并不會(huì)去使用這些框架,特別是一些偏向后端的開發(fā)者,可能依然在使用類似于jquery+Bootstrap的方式在開發(fā)一些項(xiàng)目,而且有些項(xiàng)目可能傳統(tǒng)的方式更加合適。

背景

 目前前端主流的開發(fā)框架有Vue、React以及Angular等,但是依然有一部分開發(fā)人員并不會(huì)去使用這些框架,特別是一些偏向后端的開發(fā)者,可能依然在使用類似于jquery+Bootstrap的方式在開發(fā)一些項(xiàng)目,而且有些項(xiàng)目可能傳統(tǒng)的方式更加合適,因此JavaScript前端模板引擎就能夠發(fā)會(huì)很大作用了,那么今天就介紹10大開源模板引擎,依據(jù)不同的場(chǎng)景或者功能特性,可以選擇不同的模板引擎應(yīng)用到項(xiàng)目中去:

  • 1. Art-template
  • 2. DOT
  • 3. JavaScript-Templates
  • 4. Template.js
  • 5. Tempo
  • 6. ECT
  • 7. Dot Dom
  • 8. Template7
  • 9. Bunny
  • 10. Squirrelly

1、Art-template

Art-template是一個(gè)簡(jiǎn)單且超快速的模板引擎,可通過(guò)范圍預(yù)先聲明的技術(shù)優(yōu)化模板渲染速度。它實(shí)現(xiàn)了接近JavaScript極限的運(yùn)行時(shí)性能。同時(shí),它支持NodeJS和瀏覽器。

  • 擁有接近 JavaScript 渲染極限的的性能
  • 調(diào)試友好:語(yǔ)法、運(yùn)行時(shí)錯(cuò)誤日志精確到模板所在行;支持在模板文件上打斷點(diǎn)(Webpack Loader)
  • 支持 Express、Koa、Webpack
  • 支持模板繼承與子模板
  • 瀏覽器版本僅 6KB 大小
  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. }); 
Github上開源的10大Javascript模板引擎,助力前端開發(fā)

2、DOT

為了最快,最簡(jiǎn)潔的JavaScript模板功能,重點(diǎn)是在V8和Nodejs下的性能。它對(duì)Node.js和瀏覽器均顯示出出色的性能。doT.js快速,小巧且沒(méi)有依賴性。

https://github.com/olado/doT 

  1. Hi {{=it.name}}! 
  2. {{=it.age || ''}} 
Github上開源的10大Javascript模板引擎,助力前端開發(fā)

3. JavaScript-Templates

快速且強(qiáng)大的JavaScript模板引擎,零依賴。與node.js之類的服務(wù)器端環(huán)境,RequireJS之類的模塊加載器以及所有Web瀏覽器兼容。

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

Github上開源的10大Javascript模板引擎,助力前端開發(fā)

4. Template.js

JavaScript模板引擎,簡(jiǎn)單易用,支持webpack和fis。提供了一組模板語(yǔ)法,用戶可以編寫一個(gè)模板塊。每次傳入數(shù)據(jù)時(shí),生成由相應(yīng)數(shù)據(jù)生成的HTML片段,呈現(xiàn)不同的效果。

https://github.com/yanhaijing/template.jsconst data = { list: [ {name: "yan"}, {name: "haijing"} ]};

  1. <%for(var i = 0; i < list.length; i++) {%> 
  2. <%:=list[i].name%> 
  3. <%}%> 
Github上開源的10大Javascript模板引擎,助力前端開發(fā)

5. Tempo

Tempo是一個(gè)簡(jiǎn)單,直觀的JavaScript渲染引擎,能夠以純HTML格式制作數(shù)據(jù)模板。關(guān)注點(diǎn)分離:JavaScript文件中沒(méi)有HTML,HTML中也沒(méi)有JavaScript;輕松處理AJAX / JSON內(nèi)容,可在Safari,Chrome,F(xiàn)ireFox,Opera和Internet Explorer 6+中運(yùn)行

https://github.com/twigkit/tempo

Github上開源的10大Javascript模板引擎,助力前端開發(fā)

6. ECT

聲稱具有嵌入式CoffeeScript語(yǔ)法的最快的JavaScript模板引擎。具有出色的性能,模板緩存,自動(dòng)重新加載已更改的模板和模板中的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. }); 
Github上開源的10大Javascript模板引擎,助力前端開發(fā)

7.Dot Dom

.dom從React.js借用了一些概念(例如可重用的組件和虛擬DOM),并嘗試?yán)肊S6 javascript功能以最小的占用空間復(fù)制它們。該庫(kù)的大小不超過(guò)512個(gè)字節(jié)。正在大力利用ES6規(guī)范。

https://github.com/wavesoft/dot-dom

  1. function Clickable(props, state, setState) { 
  2.  const {clicks=0} = state; 
  3.  
  4.  return H('button'
  5.  { 
  6.  onclick() { 
  7.  setState({clicks: clicks+1}) 
  8.  } 
  9.  }, 
  10.  `Clicked ${clicks} times` 
  11.  ); 
  12.  
  13. R( 
  14.  H('div'
  15.  H(Clickable), 
  16.  H(Clickable) 
  17.  ), 
  18.  document.body 
Github上開源的10大Javascript模板引擎,助力前端開發(fā)

8.Template7

Template7是第一個(gè)具有類似Handlebars語(yǔ)法的移動(dòng)優(yōu)先JavaScript模板引擎。它在Framework7中用作默認(rèn)模板引擎。它是超輕量級(jí)的(縮小并壓縮成1KB左右)并且運(yùn)行迅速(比mobile Safari中的Handlebars快2-3倍)。

https://github.com/nolimits4web/template7

  1. {{#each items}} 
  2. {{title}} 
  3. {{/each}} 
 
 
Github上開源的10大Javascript模板引擎,助力前端開發(fā)

9. Bunny

BunnyJS是現(xiàn)代的原生JS和ES6庫(kù)以及下一代前端框架,無(wú)依賴性的小型獨(dú)立組件的軟件包。它沒(méi)有依賴性-可以隨時(shí)隨地在任何項(xiàng)目中使用

https://github.com/Mevrael/bunny

  1. import { Component as BunnyComponent } from 'bunnyjs/src/...'
  2.  
  3. export const Component = Object.assign({}, BunnyComponent, { 
  4.  
  5.  init(arg) { 
  6.  // do whatever you want 
  7.  console.log(arg); 
  8.  
  9.  // call default (parent) 
  10.  return BunnyComponent.init(arg); 
  11.  } 
  12.  
  13. }); 
Github上開源的10大Javascript模板引擎,助力前端開發(fā)

10. Squirrelly

Squirrelly是使用JavaScript實(shí)現(xiàn)的現(xiàn)代,可配置且功能強(qiáng)大的快速模板引擎。它在ExpressJS開箱即用,完整版壓縮后僅約2.2KB。

https://github.com/squirrellyjs/squirrellyvar myTemplate = "

  1. My favorite kind of cake is: {{favoriteCake}} 
  2.  
  3. "Sqrl.Render(myTemplate, {favoriteCake: 'Chocolate!'})// Returns: ' 
  4. My favorite kind of cake is: Chocolate! 
  5.  
  6.  
  7.  
  8.  
  9. {{if(options.somevalue === 1)}} 
  10. Display this 
  11. {{#else}} 
  12. Display this 
  13. {{/if}} 
  14.   
  15. {{each(options.somearray)}} 
  16. Display this 
  17. The current array element is {{@this}} 
  18. The current index is {{@index}} 
  19. {{/each}} 
Github上開源的10大Javascript模板引擎,助力前端開發(fā)

總結(jié)

Javascript的模板引擎相對(duì)較多,從性能、簡(jiǎn)單性、易用性等方面會(huì)有所不同,開發(fā)者們可以根據(jù)不同的角度去選擇一個(gè)合適的模板引擎用于項(xiàng)目研發(fā)或者重構(gòu),Enjoy it!

 

責(zé)任編輯:張燕妮 來(lái)源: 今日頭條
相關(guān)推薦

2019-11-13 09:01:48

開源JavaScript模板引擎

2019-11-17 23:12:01

JavaScript開源項(xiàng)目Github

2014-05-12 10:21:41

JavaScript 模板引擎

2018-11-21 14:30:52

GitHubJavaScript開源項(xiàng)目

2021-11-06 10:42:20

JavaScript開源項(xiàng)目GitHub

2012-04-13 09:45:53

JavaScriptjQuery

2019-01-15 18:00:04

框架Github控制面板

2020-11-05 13:58:31

JavaScript開源項(xiàng)目Github

2019-11-05 09:54:50

Github開源項(xiàng)目編程

2020-11-04 10:35:05

Github開源項(xiàng)目編程

2019-09-25 10:08:16

GitHub 技術(shù)開源

2020-11-02 11:28:09

開源項(xiàng)目GitHubPython

2013-08-29 09:37:18

GitHub開源項(xiàng)目

2021-04-05 14:45:50

JavaScript開源項(xiàng)目Github

2020-10-08 11:06:03

GithubJavaScript開源項(xiàng)目

2020-02-13 10:46:54

GithubJavaScript開源項(xiàng)目

2019-10-09 08:51:34

JavaScript開源項(xiàng)目Github

2020-07-13 23:21:54

JavaScript開源Github

2020-03-06 10:57:47

JavaScript開源Github

2021-06-01 10:45:18

JavaScript開源開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)