You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pug的所有页面中全局引入mixins?

解决方法:在主布局中全局引入Mixins

没问题,这个需求很好实现——你只需要把mixins的引入语句直接加到主布局文件layouts/default.pug里,所有继承该布局的子页面就能自动使用这些mixins,不用再重复写include了。

修改后的layouts/default.pug代码:

doctype html
include includes/mixins.pug  // 在这里全局引入mixins
html(lang=$localeName)
  block vars
  head
    meta(charset="UTF-8")
    meta(http-equiv="X-UA-Compatible" content="IE=edge")
    meta(name="viewport" content="width=device-width, initial-scale=1.0")
    block styles
      link(rel="stylesheet" type="text/css" href="/assets/css/styles.min.css")
  body
    block content

为什么这样有效?

当子页面通过extends继承这个布局时,布局文件里的所有内容(包括我们引入的mixins)都会被预加载到子页面的上下文里。这意味着子页面不需要自行引入mixins,就能直接调用+my_mixin()这类方法。

修改后的子页面示例(new_page.pug):

extends layouts/default
block content
  +my_mixin('Hello World')  // 直接使用mixins,无需额外include

你可以把include includes/mixins.pug放在布局文件的任何位置,只要确保它在所有可能调用mixins的代码之前就行——放在doctype之后是最稳妥的选择,因为所有子页面的内容都在block content里,肯定在这个引入语句之后执行。

内容的提问来源于stack exchange,提问作者user6347891

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:35:26