1

目前我正在测试捆绑包,我知道可以使用通配符,例如{version}or *。我不完全确定这{version}是为了什么。我假设*像正则表达式一样工作,它接受与所有可能性匹配的所有内容:jquery*表示一切jqueryAjquery-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

谢谢!

4

1 回答 1

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将被添加到捆绑包中。

于 2015-02-25T14:13:04.167 回答