我理解并完全欣赏新的捆绑通配符 {version} 正则表达式,因为即使在更新等之后,它也会继续获取您的脚本和样式库。问题是我无法让它有效地工作。
我以前使用以下符号来获取我的 jQuery 脚本:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-1.*"));
它会拾取与星号通配符匹配的所有文件。
但是当我尝试以下操作时:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
我注意到 jQuery 文件没有写入 _Layout.cshtml 页面。
注意 - 我确实为这两个示例使用了以下 HTML 代码:
@Scripts.Render("~/bundles/jquery")
当我使用上面的第一个示例 (" * ") 表示法时,以下内容将写入页面:
<script src="/Scripts/jquery-1.7.2.js" type="text/javascript"></script>
然而,当我使用“{version}”符号时,只有一个空白空间应该写入库。这既适用于 jquery 文件,也适用于相关的 CSS 样式表。
无论我是为 DEBUG 还是 RELEASE 模式编译都没有关系。结果是一样的。显然在发布模式下,当使用“*”符号时,我会得到优化的版本:
<script src="/bundles/jquery?v=VUv2YOeuOgHad-FHZ-vGMDu9wN1j9VZGifI1SBUUSMs1" type="text/javascript"></script>
因此,作为所有开发人员的完美主义者,我非常希望看到 {version} 符号对我有用,因为我会及时了解新版本并希望对我的部署进行这种控制。
非常感谢对我可能做错的任何见解。
在此先感谢,丹