这是我经常遇到的问题,这让我想知道我是否在错误地处理Pug mixins。我已经检查了GitHub问题以进行相关对话。
给出以下文件:
// main.pug
extends base
block content
include message // or the definition itself
+message('Outer')
block inner
// page.pug
extends main
block inner
+message('Inner')
Pug将为inner
块提供对message
混合的访问。这与其他范围规则(例如与变量有关的规则)保持一致。
我想在我的块和页面中明确包含混合对象,以使它们在扩展的块中没有“知识”。
除了我的感觉,Pug忽略了多余的声明,这意味着如果您定义了一个与扩展块中的mixin共享名称的mixin,则Pug会悄悄地使用现有的mixin。您必须时刻注意要扩展的所有块中的所有mixin。 编辑:我一定记错了。在进一步的测试中,后面的mixin会覆盖初始的。
这就是它的原样吗,还是应该以不同的方式使用mixins?