强制浏览器在Angular环境中清除缓存

Phi*_*hil 7 javascript caching cache-invalidation angular

有一个流行的问题是如何在VanillaJS应用程序中强制清除浏览器的缓存,一般的共识是,将.js脚本的名称或脚本参数设置为新值:强制浏览器清除缓存

我如何使用Angular实现这一点(目前在AngularCLI/Webpack构建中为5.1),因此每次我在生产中发布代码(使用AOT)时,都会构建一个新版本?我会使用日期散列而不是索引,但主要问题是:我在哪里可以设置它(例如脚本名称/参数)?在开发中,CLI负责重建应用程序,这不是问题,只是在生产中!

LLa*_*Lai 12

通过将构建命令设置为目标生产ng build --target=production,cli会自动对您的js文件进行哈希处理.以下是文档如果您想在dev上创建命令,也可以手动设置该命令ng build --output-hashing=all