Grunt:我是否需要在每次保存时编译 HTML 才能看到结果?

Grunt: Do i need to compile HTML on each save to see the results?

在开发 HTML 项目时,我正在使用 include-replace grunt 插件来避免重复内容(例如页眉、页脚、侧边栏等)。我的 index.html 文件看起来像这样。

<!-- @@include('header.html') -->

<p>Some Content Goes Here.</p>

<!-- @@include('footer.html') -->

现在,问题是,如果我访问这个页面,它什么也没有显示(除了 Some Content Goes Here.),如果我在浏览器中查看页面源代码,上面的代码就在那里。

然后我意识到我必须将这个 index.html 编译到另一个位置(你可能会说 /dist/index.html)。通过这样做,现在我能够看到所需的结果。但是这种方法的问题是,每当我对源 html 进行微小的修改时,我都必须将 src 文件(具有上述代码)编译到 dist 文件夹,然后我必须访问 dist/index.html 以便能够在浏览器中看到所需的结果。

请问。告诉我在这方面这是正确的方法还是我做错了什么。

是的,这就是它的工作方式。一些解释

这里有一些内容。

当你在文件中输入类似的内容时,你正在创建一个预处理的模板文件,需要通过 g运行t 任务将其转换为浏览器可以理解的形式(让我们称之为编译文件)。

很明显,如果您对模板文件中包含的文件之一进行更改,则需要重新 运行 g运行t 任务以生成编译文件,然后将反映这些包含文件的更新内容。

但是,如果你有这样的模板文件(我不确定 g运行t include-replace 是否允许 css,js 以这种方式插入,这只是为了给你一个想法)

<link rel="stylesheet" type="text/css" href="style.css" />
<!-- @@include('header.html') -->
<p>Some Content Goes Here.</p>
<!-- @@include('footer.html') -->

如果在这种情况下您要对 style.css 进行更改,则不必重新 运行 g运行t 任务,因为已编译 index.html 已经有 style.css

的相同标签

为了简化开发过程,您可以使用 grunt watch plugin,它将监视您包含在 index.html 文件中的所有模板文件,如果其中任何一个发生变化,将重新运行 所有必要的任务自动生成最终编译的 index.html 文件。