目前我正在测试捆绑包,我知道可以使用{version}
或*
等通配符。我不完全确定{version}
的用途。我假设*
的工作方式类似于正则表达式,它会将所有可能性与所有可能性相匹配:jquery*
表示jqueryA
,jquery-ui.js
等所有内容。我希望有可能选择我的javascript库,css文件等的开发者或生产版本。下面是文件结构:
Content\
css\
bootstrap-theme.css
bootstrap-theme-min.css
bootstrap.css
bootstrap.min.css
the same with Scripts:
Scripts\
jquery-2.1.3.js
jquery-2.1.3.min.js
jquery-ui.js
jquery-ui.min.js
我已经定义了以下捆绑包但我觉得{version}
在字符串中的所有或错误位置都是错的:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include("~/Scripts/jquery-ui{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include("~/Scripts/modernizr-*"));
bundles.Add(new StyleBundle("~/bundles/css/Bootstrap").Include("~/Content/css/bootstrap-theme{version}.css"));
bundles.Add(new StyleBundle("~/bundles/css/Bootstrap").Include("~/Content/css/bootstrap{version}.css"));
bundles.Add(new StyleBundle("~/bundles/css").Include("~/Content/StyleSheet.css"));
如何在发布版本的应用程序中指示ASP.NET替换实例bootstrap.css
而不是bootstrap.min.css
。
谢谢!
答案 0 :(得分:5)
{version}
有点像通配符,但它做了两件额外的事情,它将通配符限制为看起来像版本号的东西(例如" 1.2.3")和它使用它找到的最高版本。这允许您拥有相同脚本的多个版本,并且捆绑器将始终使用最新版本。
例如,如果您有以下内容:
Scripts\
+ jquery-1.10.1.js
+ jquery-1.10.2.js
+ jquery-2.0.0.js
脚本包如:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js");
然后,~/Scripts/jquery-2.0.0.js
将被添加到捆绑包中。