Scripts.Render使用过时的javascript文件

时间:2013-01-28 20:00:28

标签: c# asp.net-mvc razor bundling-and-minification

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

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

1 个答案:

答案 0 :(得分: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;
    }
}