延迟加载和 $ocLazyLoad

lazy loading and $ocLazyLoad

我最近发现了 $ocLazyLoad 第三方 angular 模块,它可以延迟加载 javascript 文件。我对这个概念有点困惑。延迟加载与缓存有何不同,为什么在使用 angularjs 时要延迟加载?

缓存和延迟加载是两个不同的概念。

缓存

缓存一个文件意味着你不需要去服务器再次抓取它。相反,您从浏览器的缓存中提取它,从而节省了 http 请求时间。

您可以通过在 html 中内联模板来缓存它们,这将节省从另一个文件加载它们的时间,但会增加这些模板的字节大小的初始加载时间。一般来说,它有利于缓存模板。还有脚本。

lazy-loading

lazyloading 意味着只有在需要模块后才会加载文件(不会发出 http 请求),然后加载它,评估和执行它的脚本。

您当然可以延迟加载和缓存文件。使用 service workers 缓存它,或者依赖请求 headers 和浏览器进行缓存。