在 MVC 中使用包后备时,我注意到当 cdn 失败时,后备包没有附加版本字符串。有没有办法强制版本字符串出现?
我担心的是,如果我迁移到更新版本的 jQuery(或引导程序或其他),脚本将不会在客户端上更新,因为它仍可能在缓存中(因为默认情况下缓存长度为 1 年)。
例如,这个捆绑配置:
Public Module BundleConfig
Public Sub RegisterBundles(ByVal bundles As BundleCollection)
BundleTable.EnableOptimizations = True
bundles.UseCdn = True
Dim jQuery2 = New ScriptBundle("~/bundles/jQuery2", "//broken.ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js") _
.Include("~/Scripts/jquery-2.1.4.min.js")
jQuery2.CdnFallbackExpression = "window.jQuery"
bundles.Add(jQuery2)
End Sub
End Module
嵌入此调用:
@Scripts.Render("~/bundles/jQuery2")
产生这个输出:
<script src="//broken.ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
(window.jQuery)||document.write('<script src="/bundles/jQuery2"><\/script>');
</script>
<script src="/bundles/jQuery2"></script>
这是一个错误,一个疏忽,还是我错过了让版本字符串出现的东西?
我希望后备包呈现为:
<script src="/bundles/jQuery2?v=somejunkuniquetothisversionofthefile"></script>
我怎样才能做到这一点?
我知道之前有人问过这个问题,但作者没有更新他的问题以包含任何代码,所以我在这里这样做。