11

In Bundling e Minification, ho saputo che il bundler si muoverà attorno a determinati tipi di file conosciuti - in modo che cose come jQuery verranno spostate in primo piano.Ordinamento di file all'interno di un pacchetto - Quali sono le librerie conosciute?

Per impostazione predefinita, quando i file sono in bundle da ASP.NET essi sono ordinati alfabeticamente prima, proprio come sono mostrate in Esplora soluzioni. Quindi vengono spostati automaticamente in modo tale che le librerie conosciute e le loro estensioni personalizzate come jQuery, MooTools e Dojo vengano caricate prima di qualsiasi altra cosa, come . -source

Ma dopo aver letto questo recente domanda: ASP.NET MVC - Bundle Config order, che mostra come un file è sempre mosso dalla bundler anche quando l'utente ha specificato l'ordine di caricamento, mi sono reso conto che non sapevo COSA questi noti i tipi di file sono, o il ORDER saranno elencati in.

Non ho mai visto una lista che lo spieghi, e nella ricerca, non ho trovato nulla.

C'è una lista che mostra quali sono i tipi di file conosciuti e l'ordine in cui saranno resi? Penso che questo sia qualcosa che il team ASP.NET dovrebbe fornire agli sviluppatori come una risorsa.

risposta

12

sua nei commenti doc per 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); 
    }