Javascript 如何在版本更改时重新加载资源(HTML/CSS/JS)
我有一个使用AngularJS、oclazyload、ui路由器、bootstrap等的Web应用程序,将来会有更新,我需要确保浏览器不会一直显示缓存的资源,即使有更新版本可用 为此,我配置了GrunFile(使用grunt replace、grunt prompt和grunt bump),以便在每次创建新版本时将版本号附加到index.html中的每个URL 这很好,但因为我使用了ui路由器和oclazyload,所以我有很多资源只能按需缓慢加载,所以我尝试实现一个角度Http拦截器,将版本号附加到每个XHR URL。但是,这会弄乱模板脚本(如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拦截器,将版本号
)。我确实添加了一些条件来避免这种情况,但它感觉非常粗糙并且容易出错
在角度、香草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}
);