我的MVC4应用程序使用Scripts.Render
加载正在加载名为“functions.js”的文件的包。
当我在浏览器中调试此应用程序时,脚本会加载,但版本已过时。当我直接查看资源但附加?v=anytext
时,脚本看起来是正确的,但如果没有附加,脚本会显示旧代码。有没有办法强制捆绑输出正确的文件而不是过时的文件?
答案 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;
}
}