这是角度模板缓存破坏的好方法吗?

时间:2014-07-10 18:30:48

标签: javascript angularjs templates caching

我正在尝试在我的角度应用程序上实现一些缓存清除,它仍然允许缓存但在我们将新代码推送到生产时随时打破它。到目前为止,我的设置涉及使用grunt缓存断路器https://www.npmjs.org/package/grunt-cache-breaker来挖掘我的连接的角度app.js文件,并将查询参数附加到以.html文件扩展名结尾的任何字符串。我也为我使用ng-include的模板文件执行此操作。这样做的一个复杂因素是,现在我需要先将模板文件复制到dist /目录,这样我就可以安全地.gitignore缓存被破坏的版本,而不必每次缓存缓存时都提交我的所有模板(并产生冲突)

我的问题不是如何做到这一点,而是更多的理智检查是否这是一种避免新代码模板缓存的实用方法?我已经看到了以角度方式禁用模板缓存的示例,但似乎在文件未更改时,我希望在代码推送之间使用它。

其他人如何解决此问题?

1 个答案:

答案 0 :(得分:9)

我认为一种流行的方法是使用ng-templates(带grunt plugin)之类的东西来生成预先缓存所有模板的JS文件。然后使用usemin grunt工作流以及资产版本控制任务来对JS文件进行版本化。