1

我正在使用BundleTransformer来组合和优化我们的项目JavaScript和文件。LESSCSS

在其他项目和库中,通常将组合文件的哈希附加到 URL 中,资产嵌入在HTML代码中,以强制浏览器在源文件之一发生更改时立即下载文件的新版本。

我一直在为包寻找类似的解决方案,BundleTransformer但没有找到任何关于版本控制的信息(也尝试过缓存破坏等)。

由于这个包目前有超过 100k 的下载量,我想知道其他人是如何解决这个问题的?真的没有内置方法可以将某种版本控制后缀附加到资产 URL 吗?

我还通过手动将构建版本添加到我们所有的资产中偶然发现了这个解决方案——我仍然想知道是否有更优雅的解决方案来解决这个问题?(同样这种方法很可能会强制浏览器重新下载更改的文件,例如像这样的库jQuery

4

1 回答 1

2

很可能,您的 Web 应用程序正在调试模式下运行。

尝试通过编辑Web.config文件将其切换为发布模式:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    …
    <system.web>
        <compilation debug="false" … />
    </system.web>
    …
</configuration>

或在/App_Start/BundleConfig.cs文件中添加以下行:

BundleTable.EnableOptimizations = true;
于 2014-08-24T13:43:08.970 回答