$templateCache 是如何工作的?

How $templateCache works?

我对 $templateCache 资源有点困惑;

模板将在首次使用或通过 put 添加时缓存在客户端上。本身没有内存限制,但是过多或过多的缓存模板会影响性能,因为它们需要由客户端作为 $documentRoot(即 ng-app)的一部分下载。

$templateCache 的工作原理

当您有 templateUrl 时,在对该模板发出网络请求之前,Angular 将首先查看 $templateCache 以查看它是否存在。

您第一次请求某些 templateUrl 时会发出网络请求,但结果存储在 $templateCache 中,因此下次您转到 url 时,它会从$templateCache.

在开发中,第一个请求不被缓存这一事实很好,因为请求是针对本地文件的,而不是针对外部文件的网络请求(具有高延迟和耗时)。

在生产环境中,有两种方法可以将文件最初放置在 $templateCache

  1. 使用 ngTemplate.
  2. run 块中手动添加到 $templateCacheTutorial.

记忆问题

$templateCache 肯定不会从服务器访问模板;它存储在客户端上。至于在客户端的什么地方,我设置了一个 SSCCE ,它似乎将它存储为一个 JavaScript 字符串。它似乎没有将其存储在 localStoragesessionStorage 中或作为 cookie。