我正在将一个使用 grunt 的项目转移到 webpack。
我经常使用 HTML 片段在各种文件中重用 HTML 组件。
对于不需要传递变量的 HTML 包含,我使用的是 webpack html-loader。
对于那些我正在使用 mustache 和 html-loader 的人。
这在顶层运行良好,但不是递归的,因此包含另一个片段的片段只显示包含代码,而不是插入的 HTML。
最简单的演示方法是创建一个简单的 repo 来演示问题: 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 个包含导入没有问题。
第三个,recursive.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/ 文件夹以获取结果。谁能看到我在这里做错了什么?
非常感谢您的时间和帮助;)