1

我有一个sample.11ty.js文件,包含以下代码:

module.exports = "<p>sample</p>";

njk布局文件中,我尝试sample.11ty.js像这样包含上述文件:

{% include "components/sample.11ty.js" %}

sample段落不显示,但控制台出现以下错误:

Reference Error: module is not defined

如何在模板中包含.11ty.js文件?njk

4

1 回答 1

0

官方 Nunjucks 文档中所述:

包含不是在渲染之前将包含的模板代码拉入包含模板的预处理器;相反,它会触发包含模板的单独渲染,并且包含该渲染的结果。

因此,似乎尝试在 Nunjucks 包含文件中预处理 javascript 被认为是失败的。


但是,以下工作:

njk布局文件中,使用以下 frontmatter:

--- layout: layouts/sample.11ty.js ---

在 中layouts/sample.11ty.js,使用这样的 javascript 类:

class Sample {
data() {
return {
  name: "Eleventy"
  };
}
render(data){
    return data.content;
  }
}

module.exports = Sample;
于 2020-04-10T17:10:57.887 回答