思不磕网-你身边的文案专家

思不磕网-你身边的文案专家

jade软件中如何叠加

59

在Jade(现更名为Pug)模板引擎中,实现模板叠加可以通过以下两种方式实现:

一、使用 `include` 指令引用外部文件

基础布局文件

创建一个基础布局文件(如 `layout.jade`),包含公共部分(如头部、底部)和可替换内容区域(如 `block content_main`)。

```jade

doctype html

html

head

title blog

link(rel='stylesheet', href='/stylesheets/style.css')

body

divm_div

include top

block content_main

include footer

```

引用布局文件

其他模板文件(如 `index.jade`)通过 `extends` 引用布局文件,并在 `block content_main` 区域填充具体内容。

```jade

extends layout

block content_main

divm_left

divm_left_login

divlogin_success

```

嵌套引用

若需在 `content_main` 中引用其他Jade文件,可使用 `include` 指令。例如,在 `index.jade` 中引用 `sidebar.jade`:

```jade

block content_main

include sidebar

divmain_content

```

对应的 `sidebar.jade` 可以包含导航栏、侧边栏等公共组件。

二、使用模板继承(类似ASP.NET Master Page)

通过 `extends` 和 `block` 结构实现更复杂的布局叠加:

Master 模板(layout.jade)

定义整体结构,包含 `block` 区域供子模板填充。

```jade

doctype html

html

head

title blog

link(rel='stylesheet', href='/stylesheets/style.css')

body

divm_div

block header

block content

block footer

```

子模板(index.jade)

继承Master模板,填充具体内容到对应的 `block` 区域。

```jade

extends layout

block header

divm_left

divm_left_login

divlogin_success

block content

divmain_content

block footer

divfooter_info

footer

```

多级继承

支持多级模板继承,子模板可进一步继承父模板的 `block`,形成嵌套结构。

注意事项

使用 `include` 时,被引用的文件会被合并到父模板中,类似HTML的 `iframe` 包含关系;

`extends` 用于定义基础结构,所有子模板必须继承该结构并填充指定 `block`;

模板文件扩展名通常为 `.jade` 或 `.pug`,需确保服务器正确解析。

通过以上方法,Jade模板可实现灵活的组件复用与布局叠加,提升开发效率。