【发布时间】:2013-10-11 08:24:02
【问题描述】:
我在我的 MVC 4 应用程序中使用了 Javascript 和 CSS 文件的捆绑。 现在,每当我更改 Web 服务器上的任何 js/css 文件时,它都不会反映在客户端的浏览器上,直到他们清除缓存并重新加载浏览器。 我认为的解决方案是使用 cache.manifest 文件,但我不确定,我应该如何使用它,尤其是在使用 MVC 捆绑时?
对此的任何建议都非常感谢。
谢谢
【问题讨论】:
-
尝试附加版本=(某个数字)。每当您修改任何文件时增加它。例如@Scripts.Render("~/Scripts/test.js?version=1")
-
如果我不使用 MVC 捆绑就可以了...但是由于我使用了捆绑,这看起来并不简单
-
添加版本不会影响您在 BundleConfig.cs 中定义的包。例如在您的配置中“bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));”并在您的 _Layout.cshtml @Styles.Render("~/Content/css?version=1") 中。这仍然会获取您的捆绑文件。
-
如果我这样做,我只需要在更改底层 javascript 或 css 文件时增加“verision=X”?
-
@Nirman ...在发布模式下捆绑,默认情况下会添加一个版本号以防止缓存,并且当您更改文件时会自动更改...为什么不这样做?你在发布模式吗?如果您选择不捆绑,您可以see this other answer了解如何手动版本。
标签: asp.net-mvc-4 caching bundling-and-minification