【发布时间】:2020-09-07 01:12:24
【问题描述】:
使用 Angular 5.2.2 和 Angular CLI 1.7.0。在ng build --prod 和更新服务器之后。客户端仍在使用旧版本,无法看到更新版本。即使是散列的捆绑包。有没有一种方法可以自动更新到最新版本,而无需让客户端单击浏览器上的刷新按钮(基本上是强制刷新)?提前谢谢你。
Angular CLI: 1.7.0
Node: 8.9.4
OS: darwin x64
Angular: 5.2.3
... animations, common, compiler, compiler-cli, core, forms
... http, platform-browser, platform-browser-dynamic
... platform-server, router, service-worker
@angular/cdk: 5.2.0
@angular/cli: 1.7.0
@angular/material: 5.2.0
@angular-devkit/build-optimizer: 0.3.1
@angular-devkit/core: 0.3.1
@angular-devkit/schematics: 0.3.1
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.0
@schematics/angular: 0.3.1
@schematics/package-update: 0.3.1
typescript: 2.7.1
webpack: 3.11.0
【问题讨论】:
-
散列包用于破坏浏览器缓存。如果它们甚至无法正常工作,则您必须有某种其他类型的缓存层导致了这种情况。此外,在不重新加载浏览器的情况下即时更新 UI 确实不是一件容易的事......我能想到的唯一可能的方法是有一个轮询器来检查端点以及该端点何时返回正确的响应(如 @ 987654323@ 或其他东西),然后您可以使用要显示给客户的新 index.html 执行
document.write(...)。 -
- 你用来构建哈希包的命令是什么?
-
@RagavanRajan 使用 angular-cli
ng build --prod --stats-json --base-href=/mywebapp/ --output-path=../serverfolder/mywebapp
标签: angular angular-cli