我的 MVC4 应用程序Scripts.Render
用于加载一个包,该包正在加载一个名为“functions.js”的文件。
当我在浏览器中调试此应用程序时,脚本会加载,但版本已过时。当我直接查看资源,但附加?v=anytext
脚本看起来正确,但没有附加,脚本显示旧代码。有没有办法强制捆绑输出正确的文件而不是过时的文件?
我的 MVC4 应用程序Scripts.Render
用于加载一个包,该包正在加载一个名为“functions.js”的文件。
当我在浏览器中调试此应用程序时,脚本会加载,但版本已过时。当我直接查看资源,但附加?v=anytext
脚本看起来正确,但没有附加,脚本显示旧代码。有没有办法强制捆绑输出正确的文件而不是过时的文件?
这可能是一个缓存问题。在调试模式下使用捆绑和缩小时(<compilation debug="true" />
在您的 中设置时web.config
),捆绑/缩小被禁用。
您可以覆盖它并通过添加来强制捆绑和缩小BundleTable.EnableOptimizations = true;
。这将使它在您的生产环境中表现得像在您的生产环境中一样,所有内容都被捆绑和缩小,并且脚本参考包括该版本控制参数(如您提供的那样),它将强制浏览器在任何更改时重新加载您的脚本。
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
//all your bundle code
BundleTable.EnableOptimizations = true;
}
}