【问题标题】:Force browser to clear cache once publish发布后强制浏览器清除缓存
【发布时间】:2016-10-07 17:55:38
【问题描述】:

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

例子:

之前:<script src="js/app.js"></script>

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

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

使用 Visual Studio 2015。

【问题讨论】:

    标签: visual-studio-2015 msbuild tfs-2015


    【解决方案1】:

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

    1. 像这样修改您的代码:<script src="js/app.js#{JSVersion}#"></script> 并签入更改
    2. 在您的构建定义中添加一个变量(变量选项卡。如果它是一个静态值,您可以指定 ?build=1.1.1)
    3. 将替换标记任务添加到您的构建定义中
    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>
    

    【讨论】:

    • 在发布表单 Visual Studio 时有办法做到这一点吗?
    • @123456789 您可以通过 MSBuild 来完成。 (我更新了我的答案,你可以查看)
    猜你喜欢
    • 2016-02-18
    • 2016-10-01
    • 2015-10-29
    • 1970-01-01
    • 2016-09-01
    相关资源
    最近更新 更多