我有一个Angular,它通过指令使用模板。我有一个模板,有一个错误。在进行更改并刷新浏览器后,我注意到它没有使用我修复错误的文件。然后我学习了模板缓存。很棒的功能,但如何清除此更新模板的缓存?
注意:我没有使用Angular的路线。只需通过指令访问模板。
答案 0 :(得分:0)
你使用gulp还是Grunt?
我个人使用模板缓存,它收集所有html部分/模板并将它们放入js文件中。
优点: *所有模板都在一个js文件中一次加载。
缺点: *每次更改html文件时都必须重新生成模板缓存。您可以使用gulp来查看您的html文件,每次更改内容时它都会自动为您重新生成模板缓存:)
总结一下,对gulp-watch
和gulp-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;
}
};
});
});