为什么我需要在更改swig模板时重新启动express服务器?

通常,在Express中使用EJS模板时,我不必重新启动服务器即可查看对模板所做的更改。 我只是对.ejs文件进行更改并重新加载浏览器以查看我的更改。

但是,使用swig模板(我非常喜欢ejs),如果对.html文件进行更改,则必须重新启动服务器以查看浏览器中反映的更改。

这是一个错误,还是只是我忽视的其他东西的副作用?

我不是在寻找像grunt watch,nodemon或supervisor这样的工具,我只是希望我的swig模板的行为更像ejs模板,如果可能的话。

如Swig API文档中所述 ,您可以将Swigconfiguration为不caching模板。

我使用类似这样的东西:

swig.init({ .. cache : app.get('env') === 'production', .. }); 

这将使其仅在生产环境中caching已编译的模板。

一般来说,模板有两个步骤。 第一个是“编译”模板被转换成一个函数,然后有“渲染”,其中函数刚刚执行本地variables。

对于ejs和大多数模板系统,在开发过程中每个请求都要进行编译。 然而,使用swig,即使明确地说“不要在生产中暂停caching”,也可能总是caching编译步骤,所以“重新启动”之后“function”不会改变。

解? 请问swig,告诉他们在https://github.com/visionmedia/consolidate.js中支持启用/禁用caching