角度模板缓存 - 更新模板的清除缓存

时间:2015-06-26 05:13:49

标签: angularjs templates caching

我有一个Angular,它通过指令使用模板。我有一个模板,有一个错误。在进行更改并刷新浏览器后,我注意到它没有使用我修复错误的文件。然后我学习了模板缓存。很棒的功能,但如何清除此更新模板的缓存?

注意:我没有使用Angular的路线。只需通过指令访问模板。

2 个答案:

答案 0 :(得分:0)

你使用gulp还是Grunt?

我个人使用模板缓存,它收集所有html部分/模板并将它们放入js文件中。

优点: *所有模板都在一个js文件中一次加载。

缺点: *每次更改html文件时都必须重新生成模板缓存。您可以使用gulp来查看您的html文件,每次更改内容时它都会自动为您重新生成模板缓存:)

总结一下,对gulp-watchgulp-angular-templatecache感兴趣来解决您的问题。

答案 1 :(得分:0)

作为使用数字附加模板网址的扩展,您可以考虑拦截请求(所有这些)并在其中附加数字(版本,发布,日期等)。像这样:

angular.module('my-app', []).config(function($httpProvider) {
  $httpProvider.interceptors.push(function($window) {
    return {
      'request': function(config) {
        // just yours (other libs, ie pagination might conflict with
        // their own insertions)
        if (!/^\/path-to-your-templates\//.test(config.url)) {
          return config;
        }
        // pull a # from wherever you like, maybe the window - set by
        // your backend layout engine?
        if ($window.version) {
          if (!config.params) {
            config.params = {};
          }
          if (!config.params.v) {
            config.params.v = $window.version;
          }
        }
        return config;
      }
    };
  });
});