Asp.net MVC4 bundle{version}通配符阻塞在非数字版本控制上
根据Asp.net MVC4 bundle{version}通配符阻塞在非数字版本控制上,asp.net,asp.net-mvc,asp.net-mvc-4,asp.net-optimization,bundling-and-minification,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Asp.net Optimization,Bundling And Minification,根据{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-*。当然,这意味着我必须在脚本更改时更新包 我只是把HTML5作为一个简单的例
{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-*
。当然,这意味着我必须在脚本更改时更新包
我只是把HTML5作为一个简单的例子。这个问题很普遍,因为包含“pre”、“beta”、“-a”、“-alpha”等是常见的。解决方案是手动重命名文件,但不是通过nuget自动重命名
我做错什么了吗?我不明白你的问题 如果使用语法
{version}
,仍然可以使用-pre或-min等后缀
例如
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}-min.js"));
版本变量中不必包含-min。我不理解您的问题 如果使用语法
{version}
,仍然可以使用-pre或-min等后缀
例如
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}-min.js"));
它不必在version变量中包含-min。听起来{version}regex应该匹配语义版本来解释-pre/alpha1后缀。我将把它添加到我们的待办事项列表中。听起来,{version}regex应该匹配语义版本来解释-pre/alpha1后缀。我将把它添加到我们的待办事项列表中。我认为“pre”是版本号的一部分?下一个版本可能有,也可能没有。想想“1.2.3beta”,下一个版本可能没有“beta”。所以如果你把它放进声明中,你每次都要编辑它。而且,我不知道后缀是允许的!是否有官方允许的后缀/前缀/通配符列表?我还没有看到这方面的全面文档。我想“pre”是版本号的一部分?下一个版本可能有,也可能没有。想想“1.2.3beta”,下一个版本可能没有“beta”。所以如果你把它放进声明中,你每次都要编辑它。而且,我不知道后缀是允许的!是否有官方允许的后缀/前缀/通配符列表?我还没有看到关于这方面的全面文档。这将有很大帮助,并使成吨的nuget包的自动使用成为可能。但不知道如何解释所有不同的模式。也许可以查找尾随的“.”或“.min”或“.css”或“.min.css”或类似的内容。这将有很大帮助,并使自动使用大量nuget包成为可能。但不知道如何解释所有不同的模式。可能要查找尾随的“.”或“.min”或“.css”或“.min.css”或类似内容。