我对 $templateCache 资源有点困惑;
html/template 会存储在服务器端吗?
或者将存储在浏览器内存中?如果是这样,内存限制是多少?
最佳答案
$templateCache 是如何工作的
当你有 templateUrl
时,在对该模板发出网络请求之前,Angular 将首先查看 $templateCache
以查看它是否存在。
第一次请求 templateUrl
时,会发出网络请求,但结果存储在 $templateCache
中,因此下次访问该 url 时,它会被检索来自 $templateCache
。
在开发中,第一个请求不被缓存这一事实很好,因为请求是针对本地文件的,而不是针对外部文件的网络请求(具有高延迟和耗时)。
在生产中,有两种方法可以将文件最初放置在 $templateCache
中。
- 使用ngTemplate .
- 在
run
block 中手动添加到$templateCache
。 Tutorial .
内存题
$templateCache 肯定不会从服务器访问模板;它存储在客户端上。至于在客户端哪里,我设置了一个SSCCE并且它似乎将其存储为 JavaScript 字符串。它似乎没有将其存储在 localStorage
、sessionStorage
或作为 cookie。
关于angularjs - $templateCache 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34192111/