11

In Bundling und Minification, ich habe gewusst, dass der Bundler bestimmte bekannte Dateitypen bewegt - so dass Dinge wie jQuery nach vorne verschoben werden.Bestellung von Dateien innerhalb eines Bundles - Was sind die bekannten Bibliotheken?

Wenn Dateien von ASP.NET gebündelt werden, werden sie standardmäßig zuerst alphabetisch sortiert, so wie sie im Projektmappen-Explorer angezeigt werden. Dann werden sie automatisch verschoben, so dass bekannte Bibliotheken und ihre benutzerdefinierten Erweiterungen wie jQuery, MooTools und Dojo vor allem anderen geladen werden. -source

aber nach dieser letzten Frage zu lesen: ASP.NET MVC - Bundle Config order, die zeigt, wie eine Datei auch von dem Bündler bewegt wird immer, wenn der Benutzer die Ladereihenfolge festgelegt hat, wird mir klar, ich nicht wusste WAS diese bekannte Dateitypen sind, oder die ORDER werden sie aufgeführt werden.

Ich habe noch nie eine Liste, die dies zu erklären, und bei der Suche, kam ich mit nichts.

Gibt es eine Liste mit den bekannten Dateitypen und der Reihenfolge, in der sie gerendert werden? Ich würde denken, dass das ASP.NET-Team Entwickler als Ressource bereitstellen sollte.

Antwort

12

Seine in den doc Kommentare zu 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); 
    }