MVC4捆绑{version}通配符chokes非数字版本控制

时间:2012-10-13 08:19:57

标签: asp.net asp.net-mvc asp.net-mvc-4 asp.net-optimization bundling-and-minification

根据MS bundling dev{version}通配符是(\d+(?:.\d+){1,3})的正则表达式。这区分:

jquery-1.8.2.js
jquery-ui-1.9.0.js

但由于非数字编号(#.#.#pre),它会窒息:

html5shiv-3.6.2pre.min.js
html5shiv-printshiv-3.6.2pre.min.js

所以我这样做:html5shiv-3*html5shiv-printshiv-*。但当然这意味着我必须在脚本更改时更新软件包。

我把html5shiv作为一个简单的例子。这个问题很普遍,因为“pre”,“beta”,“ - a”,“ - aal”等的包含是常见的。解决方案是手动重命名文件,但不是通过nuget自动重命名。

我做错了吗?

2 个答案:

答案 0 :(得分:1)

听起来{version}正则表达式应该与语义版本匹配以考虑-pre / alpha1后缀。我会将此添加到我们的积压工作中。

答案 1 :(得分:0)

我不明白你的问题。

如果您使用语法{version},您仍然可以使用后缀,例如-pre或-min

一个例子是

 bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                        "~/Scripts/jquery-{version}-min.js"));

它不必在版本变量中包含-min。

相关问题