我经常更新的 Angular 应用程序出现问题。
我想避免浏览器缓存,并且正在尝试几种替代方法,但它们都不起作用。
首先,我很难测试该解决方案是否有效,因为当我上传新版本时,有时我只需刷新页面即可看到它,而其他时候我需要打开控制台并强制刷新清空缓存。
我尝试在请求标头中包含 Cache-Control: no-cache,如图所示,但这对我不起作用。
我也尝试过,放入app.component.ts
templateUrl: './app.component.html? v1'
正如我所看到的一些答案 https://stackoverflow.com/questions/1011605/clear-the-cache-in-javascript,但两者都不是。
事实是,我很绝望,因为当我提供一些我认为有效的东西时,当我与老板检查时,他没有刷新它:-(,糟糕的是,正如我所说,我不知道如何真正做到这一点检查一下,每次我进入网络时,都会向服务器请求最新版本。
感谢您的帮助
当您使用 ng build 构建应用程序时,应该使用以下标志:
--outputHashing=all
这是为了启用缓存清除。这会为每个构建的文件添加一个哈希值,以便每当您将新版本上传到服务器时浏览器都会被迫加载最新版本。
因此,一种方法是运行:
ng build --prod --outputHashing=all
您可以阅读有关构建选项标志的更多信息here https://angular.io/cli/build#ng-build.
如果您不希望在运行 ng build 时附加标志,则应在 angular.json 文件的配置中设置它。
"configurations": {
"production": {
"optimization": true,
"outputHashing": "all",
.
.
.
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)