首頁 web前端 js教程 node前端模板引擎Jade標籤使用詳解

node前端模板引擎Jade標籤使用詳解

May 22, 2018 am 10:27 AM
node 引擎

這次帶給大家node前端模板引擎Jade標籤使用詳解,node前端模板引擎Jade標籤使用的注意事項有哪些,下面就是實戰案例,一起來看一下。

1、文件宣告

我們在開始寫一個html 頁面的時候,首先要寫上DOCTYPE 文檔宣告的,現在通常情況下我們都是採用HTML5 的文檔宣告方式,那麼在jade 裡面我們該怎麼寫呢?

在jade 裡面寫文件宣告有2種方式:

  1. 我們可以直接在jade 檔案裡面寫doctype html 即可

  2. jade 為我們提供了一個簡單的寫法,(不過好像jade 在升級之後的新版本中不推薦使用此方法了-_-||| )

當然,jade 也預設支援其他類型的文件聲明,只需要使用doctype 跟上下面的選項即可。 jade 預設支援的有:

var doctypes = exports.doctypes = {
 '5': '<!DOCTYPE html>',
 'xml': '<?xml version="1.0" encoding="utf-8" ?>',
 'default': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
 'transitional': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
 'strict': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
 'frameset': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
 '1.1': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
 'basic': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">',
 'mobile': '<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">'
};
登入後複製

doctype 對大小寫是不敏感的, 所以下面兩個是一樣的效果:

doctype Default
doctype default
登入後複製

例如:如果我們要想寫XHTML 1.0 Strict 文件聲明,則可以這樣寫:

doctype strict
登入後複製

編譯結果如下:

複製程式碼 程式碼如下:

#2、標籤

jade 中的標籤的寫法非常的簡單,就是一個字。

doctype html
html
 head
 title
 body
登入後複製

以上程式碼會被編譯成:

<!DOCTYPE html>
<html>
 <head>
 <title></title>
 </head>
 <body></body>
</html>
登入後複製

jade 是以嚴格的縮進來區分標籤的開始和結束的,預設為2個空格表示縮排。

如果我們要寫一個標籤並且帶有內容,比如說要寫一個標題,我們只需要在標籤單字後面加一個空格,然後跟上內容即可。

h1 this is a title.
p this is a paragraph.
登入後複製

編譯結果為:

 

this is a title.


 

this is a paragraph.

有的時候,我們會需要輸出一些特殊排版格式的文字或是為了提高程式碼的閱讀性,需要顯示出如下的效果:

< ;p>
  1. 001
  2. 002
  3. 003
  4. 004

那麼我們在jade 中應該怎麼寫呢,這裡jade 給我們提供了兩種方式,第一種是在每一行前面加上一個| 和空格:

p
 | 1. 001
 | 2. 002
 | 3. 003
 | 4. 004
登入後複製

第二種方法是:在標籤名後面緊跟一個.號。則此標籤下面的內容會被 jade 解析為一個程式碼片段:

p.
 1. 001
 2. 002
 3. 003
 4. 004
登入後複製

這下有的同學就傻傻分不清了,這兩種方式到底有什麼差別呢?這裡我們就不得不說到標籤混排,如果我們有這樣一個需求,在上面的程式碼中 1 的後面需要加上一個 strong 標籤。

首先我們說第一種情況下,我們的寫法:

p
 | 1. 001
 strong aaa
 | 2. 002
 | 3. 003
 | 4. 004
登入後複製

如果是第二種寫法的話,我們就需要這樣寫:

p.
 1. 001
 <strong>aaa</strong>
 2. 002
 3. 003
 4. 004
登入後複製

編譯結果如下:


  1. 001
  aaa
  2. 002
  3. 003
  4. 004

3、標籤的屬性與屬性值

##h1 p 等等這些標籤,我們通常都會給他們寫上id & class屬性的,那麼這在jade 應該怎麼寫呢?和zen coding 的語法一樣,我們只需要這樣寫:

h1#id.class this is a title.
p#j-text.text this is a paragraph.
登入後複製
編譯結果為:

this is a title.

this is a paragraph.


等等,那我要是想添加多个 class 怎么办呢?这样办:

h1#id.class1.class2.class3 this is a title.
p#j-text.text this is a paragraph.
登入後複製

编译结果为:

this is a title.


this is a paragraph.

什么?写 p 写烦了?那就不写咯。

#id.class
#id.class1.class2 this is a p without tags.
登入後複製

编译结果为:


this is a p without tags.

这里要说明一下,在 jade 的语法里面,只有 p 标签能够省略不写.

说完了 id 和 class,我们再来说一下标签其他的属性应该怎么添加。jade 里添加其他属性和值的语法也和 zen coding 类似,我们需要在标签后面加上小括号(),然后按照(属性名=属性值)的格式写就好了,如果有多个属性,中间以逗号进行分割。

比如上面的 id 和 class 的写法我们就可以改写成:

h1(id="id", class="class") this is a title.
p(id="j-text", class="text") this is a paragraph.
登入後複製

结果是一样的:

this is a title.


this is a paragraph.

说来说去还是这两个属性,烦了?那我们换一个吧:

a(herf="/index.html", title="this is a link.", target="_blank", data-uid="1000") index.html
登入後複製

编译结果为:

index.html

那么问题就来了,如果我们要写一个单属性应该怎么写?比如给表单元素添加 checked属性:

input(type="checkbox", name="all", checked, value="全选")
登入後複製

编译结果为:

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

nodejs实现动态html步骤详解

node 命令方式启动修改端口步骤详解

以上是node前端模板引擎Jade標籤使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

nvm 怎麼刪除node nvm 怎麼刪除node Dec 29, 2022 am 10:07 AM

nvm刪除node的方法:1、下載「nvm-setup.zip」並將其安裝在C碟;2、設定環境變量,並透過「nvm -v」指令查看版本號;3、使用「nvm install」指令安裝node;4、透過「nvm uninstall」指令刪除已安裝的node即可。

node專案中如何使用express來處理檔案的上傳 node專案中如何使用express來處理檔案的上傳 Mar 28, 2023 pm 07:28 PM

怎麼處理文件上傳?以下這篇文章為大家介紹一下node專案中如何使用express來處理文件的上傳,希望對大家有幫助!

深入淺析Node的進程管理工具'pm2” 深入淺析Node的進程管理工具'pm2” Apr 03, 2023 pm 06:02 PM

這篇文章跟大家分享Node的進程管理工具“pm2”,聊聊為什麼需要pm2、安裝和使用pm2的方法,希望對大家有幫助!

Pi Node教學:什麼是Pi節點?如何安裝和設定Pi Node? Pi Node教學:什麼是Pi節點?如何安裝和設定Pi Node? Mar 05, 2025 pm 05:57 PM

PiNetwork節點詳解及安裝指南本文將詳細介紹PiNetwork生態系統中的關鍵角色——Pi節點,並提供安裝和配置的完整步驟。 Pi節點在PiNetwork區塊鏈測試網推出後,成為眾多先鋒積極參與測試的重要環節,為即將到來的主網發布做準備。如果您還不了解PiNetwork,請參考Pi幣是什麼?上市價格多少? Pi用途、挖礦及安全性分析。什麼是PiNetwork? PiNetwork項目始於2019年,擁有其專屬加密貨幣Pi幣。該項目旨在創建一個人人可參與

聊聊用pkg將Node.js專案打包為執行檔的方法 聊聊用pkg將Node.js專案打包為執行檔的方法 Dec 02, 2022 pm 09:06 PM

如何用pkg打包nodejs可執行檔?以下這篇文章跟大家介紹一下使用pkg將Node專案打包為執行檔的方法,希望對大家有幫助!

npm node gyp失敗怎麼辦 npm node gyp失敗怎麼辦 Dec 29, 2022 pm 02:42 PM

npm node gyp失敗是因為“node-gyp.js”跟“Node.js”版本不匹配,其解決辦法:1、透過“npm cache clean -f”清除node快取;2、透過“npm install -g n”安裝n模組;3、透過「n v12.21.0」指令安裝「node v12.21.0」版本即可。

使用Angular和Node進行基於令牌的身份驗證 使用Angular和Node進行基於令牌的身份驗證 Sep 01, 2023 pm 02:01 PM

身份驗證是任何網路應用程式中最重要的部分之一。本教程討論基於令牌的身份驗證系統以及它們與傳統登入系統的差異。在本教程結束時,您將看到一個用Angular和Node.js編寫的完整工作演示。傳統身份驗證系統在繼續基於令牌的身份驗證系統之前,讓我們先來看看傳統的身份驗證系統。使用者在登入表單中提供使用者名稱和密碼,然後點擊登入。發出請求後,透過查詢資料庫在後端驗證使用者。如果請求有效,則使用從資料庫中獲取的使用者資訊建立會話,然後在回應頭中傳回會話訊息,以便將會話ID儲存在瀏覽器中。提供用於存取應用程式中受

什麼是單一登入系統?用nodejs怎麼實作? 什麼是單一登入系統?用nodejs怎麼實作? Feb 24, 2023 pm 07:33 PM

什麼是單一登入系統?用nodejs怎麼實作?以下這篇文章為大家介紹一下使用node實作單一登入系統的方法,希望對大家有幫助!

See all articles