【问题标题】:How to stop caching while using angularjs如何在使用 angularjs 时停止缓存
【发布时间】:2017-03-24 16:04:55
【问题描述】:

我使用 AngularJS v1.5.7.net MVC WEB 项目,我的内容在 index.cshtml 和 ui-view 中。

出于某种原因,我发现我所有的 html/js 文件都缓存在 chrome 或任何浏览器中。

除非我手动清除浏览器缓存,否则我对 html/Js 文件所做的更改不会反映到浏览器。 即使按 F5 或 ctrl+F5 后,我也看不到我所做的任何更改,

我应该手动清除浏览缓存。

如何防止客户端在服务器上部署新版本时清除其浏览器缓存。

部署新版本网站时如何通过编程清除缓存。

【问题讨论】:

  • 在每次发布后将版本号附加到您的 js 文件中,例如landing.js?v1 - 用于版本1,然后用于下一个版本landing.js?v2,以此类推,每次下一次发布。
  • 您好,我正在使用 Ionic 和 Angular 并使用 防止缓存不确定这是否也适合您
  • 没有人想要工作,Ionic 自己提供了这个工具,但不是为了我的网络项目——无论如何感谢@stackg91
  • 尝试使用github.com/saintmac/angular-cache-buster。它会在文件名后自动添加时间戳。您可以将其用于开发以解决缓存问题并在生产中将其删除

标签: angularjs asp.net-mvc caching


【解决方案1】:

有多种方法可以做到这一点。

  1. 首先,您可以使用捆绑和放大功能,以便在每次发布时自动加载新的捆绑包。
  2. 如果您使用过手动参考,则可以添加带有版本的查询字符串。并且可以在每个版本上更新版本 在您的网络配置下。
<appSettings>
      <add key="Config.Version" value="2.0.9"/>
</appSettings>

在你的页面下

<script src="@Url.Content("~/scripts/case/addcase.js?v=" + Config.Version)" type="text/javascript"></script>

另外如果是和角度有关的,你可以试试

https://github.com/saintmac/angular-cache-buster

@Sajan Mullappally 在评论中建议

【讨论】:

    【解决方案2】:

    有很多方法可以做,我将提供其中一种。

    如果您使用手动参考,那么您可以在 Web 配置下的每个版本上添加更新版本,并使用版本更新字符串。

    在下面添加到您的代码页

    <script src="@Url.Content("~/scripts/case/addcase.js?v=" + Config.Version)" type="text/javascript"></script>
    

    你还必须更新你的网络配置文件

    <appSettings>
          <add key="Config.Version" value="2.0.9"/>
    </appSettings>
    

    请检查一下,如果您遇到任何问题,请告诉我。 我很乐意为您提供帮助。

    【讨论】:

      猜你喜欢
      • 2013-08-10
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      • 2018-06-15
      • 2016-03-13
      • 1970-01-01
      • 2021-01-04
      相关资源
      最近更新 更多