Pug模板继承与拓展


Pug 支持使用 block 和 extends 关键字进行模板的继承

block代表一个代码块

一、代码块的替换

如下:便有三个代码块block scripts,block content,block foot

//- layout.pug
html
  head
    title 我的站点 - #{title}
    block scripts
      script(src='/jquery.js')
  body
    block content
    block foot
      #footer
        p 一些页脚的内容

 

如替换其中的代码块

在一个新的pug文件中 ,首先要用extends继承某个pug, 然后定义相同名称的代码块即可实现替换

extends layout.pug

block scripts
  script(src='/jquery.js')
  script(src='/pets.js')

block content
  h1= title
  - var pets = ['', '']
  each petName in pets
    include pet.pug

 

在覆盖一个代码块的同时在该代码块内添加新的代码块

//- sub-layout.pug
extends layout.pug
//- 覆盖原有的content代码块,并添加了两个子代码块 sidebar primary
block content
  .sidebar
    block sidebar
      p 什么都没有
  .primary
    block primary
      p 什么都没有

 

二、块内容的添补 append / prepend

prepend(向头部添加内容),或者 append(向尾部添加内容)一个块。 

下面代码实现了在 代码块head里面添加了两个script

//- page.pug
extends layout.pug

block append head
  script(src='/vendor/three.js')
  script(src='/game.js')

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM