首页 文章

在IE11中部署到 生产环境 后角度清除缓存

提问于
浏览
0

我们有一个组合的应用程序:Angular5 ASP.NET WebApi .

支持的浏览器将是:谷歌浏览器,IE11

在通过对客户端代码进行一些更改来部署到 生产环境 之后,最终用户可能仍会在某处缓存旧代码 . 解决方案是什么?让我们假设客户端和backEnd版本已经版本化,我们可以访问该信息 .

一种选择是在代码检测到版本发生变化后强制浏览器清除其缓存(这里的问题是如何做到这一点) . 另一个可能通知用户清除缓存,因为版本已更改(解决方法) .

解决这个问题的最佳方法是什么?我想这是一个非常常见的场景,但我似乎无法在网上找到关于如何实现这一目标的任何好材料 .

问候

2 回答

  • 0

    使用 --prod 标志as intended by the CLI构建应用程序 .

    您还可以运行 ng build --help 命令( RTFM ),该命令显示此标志:

    --output-hashing=none|all|media|bundles 
    (String) Define the output filename cache-busting hashing mode.
    aliases: -oh <value>, --outputHashing <value>
    
  • 0

    我希望通过 If-Modified-Since / Last-Modified Headers固有地处理这个问题,但是你的几个线程似乎表明情况并非如此 .

    有几种方法可以解决这个问题 . 最常用的是通过URL中的附加版本指示符重新标识文件,有关详细信息,请参阅this .

    MVC 6也可以帮助你that .

    您可能需要调整此方法以使用您选择的框架组合 . 例如,一个小的Helper,它从特定于版本的子文件夹提供角度文件 .

相关问题