MVC4包中的{ version }通配符

在 MVC4我们有捆绑包。在定义捆绑包时,我们可以对文件夹中的所有文件使用通配符,比如 * 。

在下面的例子中,-{version}是什么意思?

public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
}
55228 次浏览

这个包能够在脚本名称中容纳版本号。因此,将 jQuery 更新到应用程序中的新版本(通过 NuGet 或手动)不需要任何代码/标记更改。

有关捆绑的更多信息,请参见以下链接: http://weblogs.asp.net/jgalloway/archive/2012/08/16/asp-net-4-5-asp-net-mvc-4-asp-net-web-pages-2-and-visual-studio-2012-web-developer-features.aspx

-{version}基本上映射到一个版本 正则表达式,或者更精确地说: (\d+(?:\.\d+){1,3})
使用 *往往抓取太多,例如,如果您捆绑 jquery*,这将包括 jquery-ui以及可能会打乱顺序。但是使用 jquery-{version}.js可以避免每次升级 jquery 时都必须更新 bundle 定义。

需要注意的附加事项:

  • {version}只适用于路径的最后一部分——基本上是文件名——而不是目录。
  • 在同一个文件夹中的多个版本的 jquery 都将被捕获。

其中包括 ~/Scripts/jquery-{version}.js。在这里,当我们在路径中指定{ version }选择器时,捆绑系统足够聪明,可以引用 jquery 文件的最高版本。此外,这个捆绑系统足够聪明,以选择缩小版本的文件,如果可在定义的路径。