使用Grunt我想知道是否有一些现有的构建过程来预编译服务器端模板。 实际上,对于通常的模板引擎,您经常使用“include”,“extend layout.html”,...等功能 这意味着您可以预先编译模板,完成所有可能的操作 “静态”解决。例如,使用ect和“包含”功能:
<div>Hello I'm <%= @name %></div><% include 'b.ect' %>
<div>I'm included in a.ect</div>
由于没有条件动态语句来决定是否必须包含 b.ect 块,因此可以静态编译 a.ect ,包括 b。 ect 进入 ./ dist / a.ect :
<div>Hello I'm <%= @name %></div><div>I'm included in a.ect</div>
如您所见, ./ dist / a.ect 仍然是模板,并且需要提供@name变量,因此在这种情况下,此部分保持不变。但是,包含是静态的,因此可以立即完成,避免无用的包含在运行时(即使使用缓存)
使用这种方法,我们甚至可以考虑在此构建过程中缩小模板等等。对于缩小任务,我知道像htmlmin这样的工具,但这是针对有效的html。
我还发现了一些繁琐的任务(grunt-ect,grunt-contrib-jade等),它们通过提供上下文将您的模板编译成html。但是,它似乎希望获得模板的所有动态部分,即所有变量的值。
任何想法是否已经存在模板引擎的这种预编译工具,即使没有grunt?
PS:这可能是一个糟糕的方法,所以欢迎任何建议。