强制浏览器在发布后清除缓存

Force browser to clear cache once publish

如何在发布到服务器之前为构建的所有脚本 src 属性添加后缀。

Example:

Before: <script src="js/app.js"></script>

After: <script src="js/app.js?build=1.1.1"></script>

这是 AngularJS 个应用程序,存在浏览器缓存问题。

使用 Visual Studio 2015 年。

简单的方法是您可以在构建中使用 Replace Token 任务。 例如:

  1. 像这样修改您的代码:<script src="js/app.js#{JSVersion}#"></script> 并签入更改
  2. 在您的构建定义中添加一个变量(变量选项卡。如果它是一个静态值,您可以指定?build=1.1.1)
  3. 将 Replace Tokens 任务添加到您的构建定义中
  4. 保存您的构建定义和队列构建。

您可以通过 MSBuild 来完成,例如:

  1. 将 MSBuildTasks 包添加到您的应用程序
  2. 像这样修改你的JS参考代码:

  3. 将此代码添加到您的项目文件中:

代码:

<ItemGroup>
    <HtmlFiles Include='Views\**\*.cshtml' />
  </ItemGroup>
  <Target Name="AfterBuild"> 
<FileUpdate  
   Files="@(HtmlFiles)"  
   Regex="#JSVersion#"  
   ReplacementText="?build=1.1" />
  <Message Text="Files: @(HtmlFiles)" Importance="high" />
</Target>