递归 HTML 加载器包括不起作用



我正在将一个使用 grunt 的项目移动到 webpack。

我经常使用 HTML 片段来跨各种文件重用 HTML 组件。

对于不需要传递变量的HTML包含,我正在使用webpack html加载器。

对于那些这样做的人,我一起使用胡须和html加载器。

这在顶层运行良好,但不是递归的,因此包含另一个代码段的代码段仅显示包含代码,而不是内插的 HTML。

最简单的演示方法是创建一个简单的存储库来演示问题: https://github.com/JamieMcDonnell/webpack-html-loader

我的 HTML 模板是:

<html>
<head>
<title>Getting Started</title>
<script src="https://unpkg.com/lodash@4.16.6"></script>
</head>
<body>
<%= require('html-loader?interpolate!./snippets/no-variables.html') %>
<%= require('mustache-loader!html-loader?interpolate!./snippets/variable.html')({someVariable: 'MY VARIABLE'}) %>
<%= require('html-loader?interpolate!./snippets/recursive.html') %>
</body>
</html>

前 2 个包含是毫无问题的导入。

第三个,递归.html,看起来像:

<h1>I am a top level include</h1>
<%= require('html-loader?interpolate!./sub/sub.html') %>
<%= require('mustache-loader!html-loader?interpolate!./sub/variable.html')({someVariable: 'MY SUB VARIABLE'}) %>

sub/sub.html 和 sub/variable.html 非常简单,应该可以工作。我想我缺少一个属性或启用递归加载或其他东西的东西,但找不到它。

请检查/dist/文件夹以获取结果。谁能看出我在这里做错了什么?

非常感谢您的时间和帮助;)

您需要导入嵌套文件,例如

${require('html-loader?!./sub/sub.html')}
${require('mustache-loader!html-loader?!./sub/variable.html')({someVariable: 'MY SUB VARIABLE'})}

最新更新