【问题标题】:Angular 5 Always load the cached versionAngular 5 总是加载缓存的版本
【发布时间】:2018-07-30 18:56:15
【问题描述】:

Angular 5 Web App - 总是加载缓存版本或旧版本我应该按 ctrl + f5 来获取新版本并清除缓存。 我找到了这个解决方案

@Component({
   selector: 'csj-app',
   templateUrl: 'app/component/app.component.html?v=1.0',
   styleUrls: ['style/app.css?v=1.0']
})

但是当我使用 aot 构建时出现此错误

ERROR in : Couldn't resolve resource app.component.html?v=1 

【问题讨论】:

  • 为什么要在模板和样式链接中添加url参数?
  • 你在使用 angular-cli 吗?如果是这样,这只会在运行开发构建时成为问题。使用 angular-cli >= 1.5 时,生产版本将接收模块和样式的哈希值。对于开发,您可以将浏览器设置为不在开发工具中缓存。
  • 我添加url参数以在更新后加载新版本。
  • 我很确定你不能在那里这样做,你只能在路由中添加参数

标签: angular angular2-template angular5


【解决方案1】:

删除 URL 参数。 添加 --output-hashing=all 到你的构建脚本。

"build": "ng build --output-hashing=all"

这将停止加载缓存版本。

【讨论】:

  • ng serve 用于测试,不用于生产
  • 加上ng serve 无论如何都会删除缓存
  • 已编辑,它也适用于构建脚本。我只是用 serve 作为我的例子。
  • 这对我不起作用。用户查看延迟加载模块更改的唯一方法是刷新页面。
猜你喜欢
  • 1970-01-01
  • 2010-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-13
  • 1970-01-01
相关资源
最近更新 更多