3

我正在使用 ASP.Net 4.0 捆绑功能。在我的 ~/Scripts 文件夹中,我有多个版本的 jquery-xxx 和 jquery-ui-yyy。xxx 版本是 1.4.4、1.6.4、1.8.3、1.9.1。

yyy 版本是 1.8.1、1.8.custom、1.9.2、1.10.0。

以下捆绑表中哪些有效?谢谢。

    public static void RegisterBundles(BundleCollection bundles)
    {
        #region JavaScript bundles
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
            "~/Scripts/jquery-{version}.js",
            "~/Scripts/jquery-ui-{version}.js",
            "~/Scripts/jquery.unobtrusive*",
            "~/Scripts/jquery.validate*"));
4

2 回答 2

2

{version}将被替换为模式(\d+(?:\.\d+){1,3}),并且将包含与该正则表达式匹配的所有文件。

于 2013-02-25T21:39:13.967 回答
1

正如 Slawomir 所说,它将包括所有版本。

如果你有

bundles.Add(new ScriptBundle("~/bundles/foo").Include(
            "~/Scripts/foo-{version}.js"));

以及 /Scripts 中的以下文件

foo-1.js
foo-2.1.js
foo-32-1.100.js

如果将以下内容添加到视图中:

您最终会呈现(在调试模式下)html:

//note that foo-1.js does not match
<script src="/Scripts/foo-2.1.js"></script>
<script src="/Scripts/foo-32.1.100.js"></script>

这提供了一种无需重新编译即可升级脚本的简单方法,但正如 Slawomwir 所说,您最终将得到与该(\d+(?:\.\d+){1,3})正则表达式匹配的所有文件

于 2013-02-26T19:51:04.503 回答