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

Angularjs 角度模板缓存-清除已更新模板的缓存,angularjs,templates,caching,Angularjs,Templates,Caching,我有一个通过指令使用模板的Angular。我的一个模板有一个bug。在我修好了程序错误后,我注意到它没有使用我修复的bug文件。然后我学习了模板缓存。很好的特性,但是如何清除此更新模板的缓存 注意:我没有使用Angular的路线。只是通过指令访问模板。您使用的是咕噜还是咕噜 我个人使用模板缓存,它收集所有html片段/模板,并将它们放在js文件中 优点: *所有模板一次加载到一个js文件中 缺点: *每次更改html文件时,都必须重新生成模板缓存。您可以使用gulp查看html文件,每次更改某些

我有一个通过指令使用模板的Angular。我的一个模板有一个bug。在我修好了程序错误后,我注意到它没有使用我修复的bug文件。然后我学习了模板缓存。很好的特性,但是如何清除此更新模板的缓存


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

您使用的是咕噜还是咕噜

我个人使用模板缓存,它收集所有html片段/模板,并将它们放在js文件中

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

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


总结一下,对<代码> GULP WEB 和<代码> GLUP角模板> <代码>来解决你的问题很有意思。

作为一个扩展插件模板的URL加上一个数字,你可以考虑截取请求(所有这些)并在其中添加一个数字(版本、发布、日期等)。大概是这样的:

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;
      }
    };
  });
});

谢谢我会调查的。现在我要做的是在templateURL的末尾添加一个带有随机数的后缀(例如“template.html?123”)。这可能是一个黑客,但为了让我继续下去,它的工作。