3

我的 MVC4 应用程序Scripts.Render用于加载一个包,该包正在加载一个名为“functions.js”的文件。

当我在浏览器中调试此应用程序时,脚本会加载,但版本已过时。当我直接查看资源,但附加?v=anytext脚本看起来正确,但没有附加,脚本显示旧代码。有没有办法强制捆绑输出正确的文件而不是过时的文件?

4

1 回答 1

3

这可能是一个缓存问题。在调试模式下使用捆绑和缩小时(<compilation debug="true" />在您的 中设置时web.config),捆绑/缩小被禁用。

您可以覆盖它并通过添加来强制捆绑和缩小BundleTable.EnableOptimizations = true;。这将使它在您的生产环境中表现得像在您的生产环境中一样,所有内容都被捆绑和缩小,并且脚本参考包括该版本控制参数(如您提供的那样),它将强制浏览器在任何更改时重新加载您的脚本。

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
        //all your bundle code
        BundleTable.EnableOptimizations = true;
    }
}
于 2013-01-28T20:18:09.840 回答