根据MS捆绑开发,{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-*
.但当然,这意味着我必须在脚本更改时更新捆绑包。
我只是以html5siv作为一个简单的例子。这个问题很普遍,因为包含"pre","beta","-a","-alpha"等很常见。解决方案是手动重命名文件,但随后不会通过 nuget 自动重命名。
我做错了什么吗?
听起来 {version} 正则表达式应该匹配语义版本以解释 -pre/alpha1 后缀。 我会将其添加到我们的积压工作中。
我不明白你的问题。
如果使用语法{version}
您仍然可以使用后缀,例如 -pre 或 -min
一个例子是
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}-min.js"));
它不必在版本变量中包含 -min。