Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在版本更改时重新加载资源(HTML/CSS/JS)_Javascript_Angularjs_Caching_Gruntjs_Version - Fatal编程技术网

Javascript 如何在版本更改时重新加载资源(HTML/CSS/JS)

Javascript 如何在版本更改时重新加载资源(HTML/CSS/JS),javascript,angularjs,caching,gruntjs,version,Javascript,Angularjs,Caching,Gruntjs,Version,我有一个使用AngularJS、oclazyload、ui路由器、bootstrap等的Web应用程序,将来会有更新,我需要确保浏览器不会一直显示缓存的资源,即使有更新版本可用 为此,我配置了GrunFile(使用grunt replace、grunt prompt和grunt bump),以便在每次创建新版本时将版本号附加到index.html中的每个URL 这很好,但因为我使用了ui路由器和oclazyload,所以我有很多资源只能按需缓慢加载,所以我尝试实现一个角度Http拦截器,将版本号

我有一个使用AngularJS、oclazyload、ui路由器、bootstrap等的Web应用程序,将来会有更新,我需要确保浏览器不会一直显示缓存的资源,即使有更新版本可用

为此,我配置了GrunFile(使用grunt replace、grunt prompt和grunt bump),以便在每次创建新版本时将版本号附加到index.html中的每个URL

这很好,但因为我使用了ui路由器和oclazyload,所以我有很多资源只能按需缓慢加载,所以我尝试实现一个角度Http拦截器,将版本号附加到每个XHR URL。但是,这会弄乱模板脚本(如
)。我确实添加了一些条件来避免这种情况,但它感觉非常粗糙并且容易出错

在角度、香草JS、Grunt或任何其他方面是否有任何傻瓜式的解决方案/最佳实践


提前谢谢

您可以在没有缓存的情况下懒散地加载资产:只需将缓存参数设置为false

还可以为数组或单个文件设置缓存属性

有两种方法可以定义加载函数的配置选项。您可以使用第二个可选参数来定义要加载的所有模块的配置,也可以为每个模块定义可选参数。 例如,它们是等效的(除了第一个示例中前两个文件不会被缓存):

$ocLazyLoad.load([{
  files: ['testModule.js', 'bower_components/bootstrap/dist/js/bootstrap.js'],
  cache: false
},{
  files: ['anotherModule.js'],
  cache: true
}]);
$ocLazyLoad.load(
  ['testModule.js', 'bower_components/bootstrap/dist/js/bootstrap.js', 'anotherModule.js'],
  {cache: false}
);