91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nodejs模板引擎有什么作用

發布時間:2021-11-23 14:35:47 來源:億速云 閱讀:556 作者:iii 欄目:web開發

這篇文章主要講解了“nodejs模板引擎有什么作用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“nodejs模板引擎有什么作用”吧!

nodejs模板引擎是指渲染模板,可以使用模板文件來動態生成HTML文件,在生成時又可以按照一定的規則將應用程序里的數據整合進HTML文件。常見的node模板引擎有:Mustache、Dust.js、doT、Jade、EJS、swig等。

nodejs模板引擎有什么作用

本教程操作環境:windows7系統、nodejs 12.19.0版,DELL G3電腦。

模板引擎的介紹

在一個web應用程序中,如果只是使用服務器端代碼來編寫客戶端html代碼,前后端不分離,那么會造成很大的工作量,而且寫出來的代碼會比較難以閱讀和維護。如果只是使用客戶端的靜態的HTML文件,那么后端的邏輯也會比較難以融入到客戶端的HTML代碼中。

為了便于維護,且使后端邏輯能夠比較好的融入前端的HTML代碼中,同時便于維護,很多第三方開發者就開發出了各種Nodejs模板引擎。

那么什么是模板引擎,我們可以分開理解。

模板:一個模子(結構)。供你套數據,并且依據不同數據去走不同的邏輯

引擎:一個處理器(編譯、運行),最后渲染出HTML代碼

所以,合起來理解模板引擎:使用模板文件來動態生成HTML文件,在生成時又可以按照一定的規則將應用程序里的數據整合進HTML文件。類似后臺的jsp語言。

簡單來說,模板引擎就是渲染模板。

nodejs模板引擎匯總和對比

Mustache

官網見:http://mustache.github.io/

Mustache是一個非常簡單易用的模板引擎,號稱無邏輯的模板引擎,可以用于HTML、配置文件、源代碼等等場景。

之所以稱之為無邏輯的模板引擎,是因為它沒有if語句、else條件、for循環等結構體。只有標簽,使用值來替換標簽,值可以是哈希或對象,就這么簡單。

Mustache模板有兩種定義,Mustache (1)和Mustache (5)

Mustache支持主流的編程語言,比如Ruby, JavaScript, Python, Erlang, node.js, PHP, Perl, Perl6, Objective-C, Java,Android, C++, Go, Lua等。

Mustache也可以很好地與編輯器TextMate, Vim, Emacs, Coda, Atom等相結合。

Mustache (1)手冊:< http://mustache.github.io/mustache.5.html>
Mustache (5) 手冊:< http://mustache.github.io/mustache.1.html>

Mustache (1)的靈感來自于ctemplate,并于2009年底發布第一版。第一個版本的模板引擎使用Ruby語言實現,運行YAML模板文本。采用的主要原則有:一是強調“無邏輯”,沒有顯式的控制流程語句,所有控制都由數據驅動;二是強調“邏輯與表示的分離”,不可能將應用程序邏輯嵌入到模板中。

Handlebars

官網:< http://handlebarsjs.com/>

Handlebars.js是Chris Wanstrath創建的Mustache模板語言的擴展。Handlebars.js和Mustache都是無邏輯模板語言,保持視圖和代碼分離。

一般來說,Handlebars.js模板的語法是Mustache模板的超集。

其基本語法可以參考Mustache的幫助頁:< http://mustache.github.com/mustache.5.html>

Handlebars允許模板被預編譯,并包含到JavaScript代碼中,使得啟動時間更短。

Handlebars不兼容Mustache的幾點:

* Handlebars默認不執行遞歸查找,除非在編譯時compat標志必須設置為啟用此功能。用戶應注意,啟用此標志會產生性能成本。

* 不支持可選的Mustache風格的Lambdas表達式。

* 不支持備用分隔符

Dust.js

官網:< http://www.dustjs.com/>

Dust是一個Javascript模板引擎,它繼承了ctemplate語言風格,并設計為在服務器和瀏覽器上異步運行。

與其它模板引擎相比,Dust不是無邏輯的,只是有較少的邏輯。

*不能在Dust模板中編寫任意Javascript。但是,您仍然有基本的邏輯運算符,如比較,小于/大于,存在/不存在。這在模板可讀性和數據控制之間達到平衡。

* Dust鼓勵將邏輯移動到數據模型。可以在模型中創建函數,然后通過模板調用,可以完全控制模板如何呈現,而不會使邏輯混亂。

*異步模板加載,渲染和流式傳輸。故不必預加載模板。

*可組合模板,支持部分包含和動態模板塊,將模板拼接在一起,實現手動構建布局。

* HTML安全,格式無關。Dust通過安全地轉義數據,防止跨站點腳本攻擊。

*高性能。在性能和功能之間取得平衡。雖然它沒有Mustache那么快,但它的異步性意味著可以更快地渲染大模板。

* Dust工作在JavaScript。

Underscore.js

官網:< http://underscorejs.org/>

Underscore是一個JavaScript庫,提供了一系列有用的函數式編程幫助程序,而不擴展任何內置對象。

Underscore提供了超過100個函數,支持map、filter、invoke等特性,以及函數綁定、JavaScript模板、創建快速索引、深度等價測試等。

doT

官網:< http://olado.github.io/doT/>

doT并非最易于使用的模板引擎,但它滿足以下需求:

* 如果模板引擎在客戶端和服務器端都需要使用

* 如果模板需要龐大的邏輯,而且還想讓應用程序跑得很快

* 如果需要預編譯的模板

Jade

官網:< http://jade-lang.com/>

使用這個模板引擎,可以讓代碼寫得更少,開發很輕松。但在Node.js環境使用比較費時,因為必須先把文件轉換為HTML,再轉換成Jade。

EJS

官網:< http://ejs.co/>

EJS是CanJS默認的模板語言,它提供了與Observes的實時綁定的使用。EJS非常易于使用,在模板中寫入想要的HTML,以及一些表示動態行為的魔法標簽即可。JES不支持block功能。

swig

Swig沒有抽象的HTML語法,但可以用Swig填充Angular.js的語法,支持block功能。

感謝各位的閱讀,以上就是“nodejs模板引擎有什么作用”的內容了,經過本文的學習后,相信大家對nodejs模板引擎有什么作用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌黎县| 东兰县| 连江县| 行唐县| 梁河县| 高陵县| 林州市| 哈密市| 聊城市| 奉新县| 灵寿县| 无为县| 重庆市| 龙游县| 安乡县| 滨海县| 双桥区| 青川县| 阿克陶县| 屯留县| 惠东县| 美姑县| 安龙县| 昌吉市| 安仁县| 临洮县| 九龙县| 新郑市| 长治县| 哈尔滨市| 南漳县| 上犹县| 准格尔旗| 历史| 石门县| 怀仁县| 阳朔县| 泉州市| 且末县| 黎川县| 广水市|