13

バンドリングとミニフィケーションでは、バンドラーが特定の既知のファイル タイプを移動することを知っています。そのため、jQuery などは前面に移動します。

既定では、ファイルが ASP.NET によってバンドルされると、ソリューション エクスプローラーに表示されるのと同じように、最初にアルファベット順に並べ替えられます。次に、既知のライブラリと、jQuery、MooTools、Dojo などのカスタム拡張機能が何よりも先に読み込まれるように、それらが自動的にシフトされます。 -ソース

しかし、この最近の質問ASP.NET MVC - Bundle Config orderを読んだ後、ユーザーがロード順序を指定した場合でも、ファイルがバンドラーによってどのように移動されるかを示していますが、これらの既知のファイルの種類が何であるかを知らなかったことに気付きました、またはそれらがリストされる順序。

これを説明するリストを見たことがなく、検索しても何も思いつきませんでした。

既知のファイルの種類と、それらがレンダリングされる順序を示すリストはありますか? これは、ASP.NET チームがリソースとして開発者に提供すべきものだと思います。

4

1 に答える 1

13

BundleCollection.AddDefaultFileOrderings のドキュメント コメントにあります。

    /// <summary>
    /// Add default file ordering for common popuular script and style libraries.
    /// </summary>
    /// <param name="list">A collection of <see cref="BundleFileSetOrdering"/> objects to populate with default values.</param>
    /// <remarks>
    /// The purpose for applying these default file ordering values is to ensure that common libraries such as jquery are always located 
    /// at or close to the top within a bundle. These values can be all removed with <see cref="ResetAll"/>.
    /// 
    /// The default ordering values are as follows:
    /// <list type="bullet">
    ///     <item><description>reset.css</description></item>
    ///     <item><description>normalize.css</description></item>
    ///     <item><description>jquery.js</description></item>
    ///     <item><description>jquery-min.js</description></item>
    ///     <item><description>jquery-*</description></item>
    ///     <item><description>jquery-ui*</description></item>
    ///     <item><description>jquery.ui*</description></item>
    ///     <item><description>jquery.unobtrusive*</description></item>
    ///     <item><description>jquery.validate*</description></item>
    ///     <item><description>modernizr-*</description></item>
    ///     <item><description>dojo.*</description></item>
    ///     <item><description>mootools-core*</description></item>
    ///     <item><description>mootools-*</description></item>
    ///     <item><description>prototype.js</description></item>
    ///     <item><description>prototype-*</description></item>
    ///     <item><description>scriptaculous-*</description></item>
    ///     <item><description>ext.js</description></item>
    ///     <item><description>ext-*</description></item>
    /// </list>
    /// </remarks>
    public static void AddDefaultFileOrderings(IList<BundleFileSetOrdering> list) {
        if (list == null) {
            throw new ArgumentNullException("list");
        }

        BundleFileSetOrdering css = new BundleFileSetOrdering("css");
        css.Files.Add("reset.css");
        css.Files.Add("normalize.css");
        list.Add(css);

        BundleFileSetOrdering jquery = new BundleFileSetOrdering("jquery");
        jquery.Files.Add("jquery.js");
        jquery.Files.Add("jquery-min.js");
        jquery.Files.Add("jquery-*");
        jquery.Files.Add("jquery-ui*");
        jquery.Files.Add("jquery.ui*");
        jquery.Files.Add("jquery.unobtrusive*");
        jquery.Files.Add("jquery.validate*");
        list.Add(jquery);

        BundleFileSetOrdering mod = new BundleFileSetOrdering("modernizr");
        mod.Files.Add("modernizr-*");
        list.Add(mod);

        BundleFileSetOrdering dojo = new BundleFileSetOrdering("dojo");
        dojo.Files.Add("dojo.*");
        list.Add(dojo);

        BundleFileSetOrdering moo = new BundleFileSetOrdering("moo");
        moo.Files.Add("mootools-core*");
        moo.Files.Add("mootools-*");
        list.Add(moo);

        BundleFileSetOrdering proto = new BundleFileSetOrdering("prototype");
        proto.Files.Add("prototype.js");
        proto.Files.Add("prototype-*");
        proto.Files.Add("scriptaculous-*");
        list.Add(proto);

        BundleFileSetOrdering ext = new BundleFileSetOrdering("ext");
        ext.Files.Add("ext.js");
        ext.Files.Add("ext-*");
        list.Add(ext);
    }
于 2013-10-19T01:45:38.707 に答える