使用grunt预编译服务器端的html模板

使用Grunt我想知道是否有一些现有的生成过程来预编译服务器端模板。 其实与通常的模板引擎,你经常使用的function,如“包括”,“扩展layout.html”,… …
这意味着你可以预编译你的模板,做所有可以“静态”解决的东西。 例如ect和“包含”function:

  • a.ect

<div>Hello I'm <%= @name %></div><% include 'b.ect' %>

  • b.ect

<div>I'm included in a.ect</div>

由于没有条件dynamic语句来决定是否包含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仍然是一个模板,并且@namevariables仍然需要提供,所以在这种情况下,这个部分保持不变。 然而,包含是静态的,所以可以立即完成,避免在运行时无用的包含(即使有caching)

使用这种方法,我们甚至可以考虑在这个构build过程中缩小模板,等等。 为了缩小任务,我知道像htmlmin这样的工具,但是这是面向有效的html。

我还发现了一些grunt任务( grunt-ect , grunt-contrib-jade等),通过提供上下文将你的模板编译成html。 但是,它似乎希望得到您的模板的所有dynamic部分,即所有variables的值。

任何想法,如果这种预编译工具已经存在的模板引擎甚至没有咕噜?

PS:这可能是一个坏的方法,所以任何build议是值得欢迎的。

可能不是你要找的东西,但是有一个预编译器可以通过npm提供句柄模板,这个模板在一个缩小的js文件中呈现:

https://npmjs.org/package/handlebars-precompiler