0

我必须在我的Bundle.Config中遵循代码:

bundles.Add(new ScriptBundle("~/bundles/js/jquery")
            .Include("~/Scripts/jquery-{version}.js",
                     "~/Scripts/jquery-migrate-{version}.js",
                     "~/Scripts/jquery-ui-{version}.js"));

我的Package.config文件包含以下内容:

...
<package id="jQuery" version="1.9.1" targetFramework="net45" />
...

我的 *_Layout.cshtml* 包含以下代码:

<head>
...
@Scripts.Render("~/bundles/js/jquery")
...
</head>

我的脚本文件夹中有这两个文件:“jquery-1.7.1.js” + “jquery-1.9.1.js”

我希望只下载文件“jquery-1.9.1.js”。但在调试模式下,我看到“jquery-1.7.1.js” + “jquery-1.9.1.js”都被下载了。更难检查,但问题可能也发生在发布模式下。

将包含短语更改为确切的版本(例如 1.9.1),或从文件夹中删除旧版本,可以解决问题,但这当然不是所需的解决方案。

4

1 回答 1

2

{version} 使用正则表达式 (\d+(?:.\d+){1,3}) 来标识要添加的 js 文件。它实际上只是为了防止您每次更新 js 文件版本时都必须更新捆绑配置。如果你在同一个文件夹中有同一个 js 文件的多个版本,那么它将把所有这些都拉进去。

HTH。

于 2013-06-02T16:30:48.210 回答