使用 ocLazyLoad 加载的脚本会被浏览器缓存吗?

Do scripts loaded with ocLazyLoad get cached by the browser?

抱歉,如果这是一个新问题。

我将 ocLazyLoad 插件与 AngularJS 和 UI 路由器一起使用。我将 ocLazyLoad 与 Ui 路由器一起使用,以根据在我的 webapp 中命中的路由在我的控制器中动态 load/lazy-load。

我的问题是这些延迟加载的脚本会被浏览器缓存吗?如果存在,是否有办法强制浏览器下载新副本(无需关闭我的网络服务器上的缓存)。

我要解决的问题是这样的,我希望为我的 index.html 提供一个带有 MD5 散列的新版本,以强制浏览器在每次部署新版本的 webapp 时重新加载代码.因此,如果我加载一个新索引-1ab34c.html,我担心延迟加载的 JS 文件将是相同的旧缓存文件,而不是部署的新代码。

这个问题实际上被不同类型的问题问了100多次,angular路由器有缓存问题,这个问题的基本解决方案是版本

台式机或笔记本电脑有硬刷新选项ctrl + F5这有助于从头重新加载所有文件,但手机或平板电脑等设备没有此选项,因此您必须使用 version 来处理这个问题。

Try to version all of your requests and files, this helps application to get new files and request by last version.

示例:

var version = "0.0.1"; //0.0.2 // 0.0.9 // 0.1.0 
//requests
$http.get("users?v=" + version).then(...);

//files
//loading with oclazyload or what you want no deference
"application/controller.js?v=" + version

版本是全局变量,因为每次发布您都会从一个地方更改它。