【发布时间】:2017-05-22 23:52:16
【问题描述】:
有没有办法包含无缓冲的 javascript,以便多个文件可以重用相同的函数、变量等?
示例
- const viewbox = { x: 5000, y: 5000 };
现在我想在多个文件中重用这段代码。有什么办法吗?
【问题讨论】:
标签: pug
有没有办法包含无缓冲的 javascript,以便多个文件可以重用相同的函数、变量等?
示例
- const viewbox = { x: 5000, y: 5000 };
现在我想在多个文件中重用这段代码。有什么办法吗?
【问题讨论】:
标签: pug
解决方法:
这可能以一种相当不干净的方式:创建一个 pug 文件empty.pug(什么都不保存,或者解释为什么该目录周围有一个空文件的注释;如果空策略不起作用,您可以添加一个empty.pug 中的存根 mixin 只是为了取悦编译器)。将 empty 模板包含在要保存 JS 代码源的 pug 模板中,如下所示:
include empty
- function foo() { return "bar"; }
现在您可以在其他需要 JS 代码的模板中 include 该模板。
旧帖:
您可以简单地将带有无缓冲 JavaScript 的模板文件包含在您想要使用它的任何其他 Pug 模板文件中。这可以通过 include 关键字来完成。
编辑:
似乎只有当您在保存 JavaScript 的文件中还包含一个 mixin 时,这才有可能。正在研究包含纯 JS 代码的可能性(根据 Pug repo 上的 these two GitHub 问题)。
【讨论】:
const 声明。
如果您使用Template Inheritance 并有一个主模板文件(比如说body.pug),其中调用说block content 和一个单独的pug 文件,每个页面在其中extends ./body 和定义block content 然后您在 body.pug 中输入的无缓冲代码将在每个子 pug 文件中可用。
例如,如果您将以下内容放入body.pug:
- let goat = true
您将能够在任何子 pug 文件中使用它:
nav
a( href='/') Home
a( href='/blog) Blog
if goat
a( href='/goat') Goat
【讨论】: