angular - 如何防止 Angular 中特定模块的浏览器缓存
问题描述
当我们通过角度路由加载延迟加载模块并检查网络选项卡时,我们将看到:
(状态码=200 OK)
第二次,当我们再次加载相同的模块并检查网络选项卡时,我们将看到:
(状态码 =304 未修改)
正如我们所看到的,第二次从缓存中加载该模块,如何防止缓存?
解决方案
要在构建期间生成唯一的包名称,您可以:
使用
--outputHashing
选项:ng build --prod --outputHashing=all
更新
angular.json
此路径下的配置:projects > [ project_name ] > architect > build > configurations > [ configuration_name ] > outputHashing
- 设置为all
这样,散列名称会在每次构建时更新。每次用户刷新浏览器时,它都不会生成唯一的哈希值。
推荐阅读
- python - 元组列表中索引为 1 而不是 0 的第一个元素
- flutter - Flutter:如何处理“可选参数的默认值必须是常量”
- android - BottomSheetDialog 使 ViewPager2 中使用的背景变暗
- python - 如何正确设置 Visual Studio 以使用已安装的 Python 和包
- python - 命令引发异常:AttributeError: 'str' object has no attribute 'mention'
- flask - 使用 {% extends 'bootstrap/base.html' %} 的任何缺点
- api - 模拟损坏的 NestJS 端点,无需重新启动整个 API 项目
- docker - 是否可以在 MacOS 上绑定到 127.0.0.1 以外的另一个 IP?
- python - 如何使用正则表达式在字符串中查找重复的单词
- javascript - 在Angular 12 TypeScript中设置超时后调用函数?