關於 Pug

關於 Pug

Pug 筆記

pug 指令

註解:於跟目錄上建立一個 index.pug 檔案

 

  • 安裝
    • npm install  pug-cli -g / yarn global add pug-cli
    • // npm 或 yarn 安裝 pug
  • 基礎編譯
    • pug index.pug
    • // 開始執行編譯,於當前目錄下生成一個被壓縮過的 index.html 檔案
  • 自動編譯
    • pug index.pug -w
    • // 在編輯 index.pug 的同時,index.html 也會更新到最新的編譯檔案
  • 標準版HTML
    • pug index.html -P
    • // 將編譯後的檔案為標準版的 HTML 檔案
  • 路徑設定
    • pug index.pug -o a
    • // 希望更改當前目錄下輸出編譯後的 HTML 檔案,則需要設定 -o 引數
    • // index.html 將輸入到 a 目錄下面,如果 a 目錄不存在,則會新建立 a 目錄
  •    快速使用
    • pug index.pug -P -w //index 自動編譯為標準版 HTML

Vue cli 使用 pug

安裝 loader

npm install pug-loader pug-filters --save

開始使用 pug

要用 pug 的 template 必須加上 lang="pug"

pug 標籤使用

樹狀 元素與元素之間以縮排表示巢狀關係,內容以空一個空白為撰寫
index.pug
ul
  li itme A
  li item B
  li item C
index.html
<ul>
  <li>itme A</li>
  <li>itme B</li>
  <li>itme C</li>
</ul>
內聯 元素內包覆元素以內聯語法
index.pug
a: img
index.html
<a><img/></a>
DOCTYPE
index.pug
doctype html
index.html
<!DOCTYPE html>

內容

pug 提供三種常用的方式來放置內容

管道文字

這是最簡單的模板新增純文字的方法。只需要在每行前面加一個 | 字元

index.pug
|純文字當然也是 HTML 可以撰寫的
p |單它必須單獨在一行|
標籤內文字
標籤與文字之間留一個空白,即可將內容放在標籤內
index.pug
p 後面是在 p 標籤內的內容
index.html
<p>後面是在 p 標籤內的內容</p>
嵌入大段文字
有時可能需要寫一個大段文字塊,比如嵌入指令碼或者樣式。只需要標籤後面接一個 . 即可[不可有留空白]
index.pug
script.
 if(useIngPug)
  console.log('這不錯')
 else
  console.log('請用 Pug') 
index.html
<script>
 if(useIng
</script>

屬性

標籤屬性和 HTML 語言非常相似,它們的值就是普通的 JavaScript 表示。可以用逗號作為屬性分隔符。
a(href="yahool") 雅虎
特殊字元
如果屬性名稱中含有某些奇怪的字元,可能會與 JavaScript 語法產生衝突的話,可以將它們使用 "" 或者 '' 括起來。還可以使用逗號來分割不同的屬性
index.pug
div(class='div-class', (click)='play()')
index.html
<div class="div-class" (click)="play()"></div>


參考資料

  1. pug 安裝與使用教程度
  2. Vue-cli透過webpack來加載使用pug/scss及BootStrap4