1

我了解使用 mvc4 捆绑和缩小背后的原理,但我想将基本的预缩小库用于 jquery 和其他大型常见库等项目。

因此,在我的生产版本中,而不是像这样引用一个包:

bundles/jquerymobile?v=N1H63GRw6_-3057BORWSW60RX5rLWde08XZf8PiKQaE1

我更喜欢使用标准的 jquery min 版本,如下所示:

jquery-1.8.2.min.js

然后我的下一步将是允许用 CDN 托管的库替换这些标准化库,例如谷歌和其他大型 CDN 提供的库。

所以:这个问题的两个部分:

-我如何指示捆绑器直接包含预先缩小的文件,与其他人不捆绑?

-如何创建指向此文件的 CDN 托管版本的链接,而不是引用本地文件?

4

1 回答 1

1

我更喜欢使用标准的 jquery min 版本,如下所示:jquery-1.8.2.min.js

为什么?如果您将它与您的其余脚本捆绑在一起,它仍然会被缩小,并且它会减少一个 HTTP 请求。如果将此脚本与其他脚本捆绑在一起,则没有功能差异。捆绑它只是减少了 HTTP 请求(这可能比缩小更重要)。

我如何指示捆绑器直接包含预先缩小的文件,与其他人不捆绑?

你没有,你像往常一样在页面上包含脚本。如果您只想将捆绑器用于缩小脚本的目的,请仅使用该脚本创建一个单独的捆绑包。

如何创建指向此文件的 CDN 托管版本的链接,而不是引用本地文件?

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

    bundles.UseCdn = true;   //enable CDN support

    //add link to jquery on the CDN
    var jqueryCdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js";

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

    // Code removed for clarity.
}
于 2012-11-29T21:18:59.350 回答