Ich weiß, dies ist ein altes Thema, aber ich kam hier für einen tatsächlichen Weg suchen, zu bündeln CDN-Ressourcen. Von @Chris Pratt 's Antwort verstand ich, dass es nicht möglich war.
Wenn Sie sich fragen, ich arbeite an der Optimierung eines vorhandenen Projekts nach Google's Web Performance Best Practises, die eine niedrige Punktzahl gibt, wenn mehrere Skript-Tags und eine höhere, wenn alle Skripte in einem einzigen Skript-Verweis gebündelt sind.
Ich brauchte einen Weg, um alle CDN-Skript-Ressourcen sowie lokale Ressourcen in der Reihenfolge zu bündeln. Ich arbeitete an dieser github repo, die mein Problem löste.
Damit erstellen Sie ein Bundle mit einer Liste von Bundles, die jeweils einen Verweis auf die cdn-Ressource, eine lokale Ressource zum Speichern und einen Booleschen Wert enthalten, der angibt, ob das Bundle minimiert werden soll oder nicht.
List<Bundle> jsBundles = new List<Bundle>();
jsBundles.Add(new Bundle("https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js", @"~/jquery.min.js", Bundle.BundleType.JavaScript, false));
jsBundles.Add(new Bundle("https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js", @"~/jquery-ui.min.js", Bundle.BundleType.JavaScript, false));
jsBundles.Add(new Bundle(@"~/my-local-script.js", Bundle.BundleType.JavaScript, true));
auf der Seite zu platzieren, die Sie verwenden
@jsBundles.Load();
Dadurch werden alle Pakete in der Liste bearbeiten, Inhalte für Pakete herunterzuladen, die in den letzten 24 Stunden heruntergeladen haben (Es aktualisiert alle nicht 24 Stunden oder wenn die Webanwendung neu gestartet wird). Der gesamte heruntergeladene Inhalt wird in lokalen Dateien gespeichert (wo angegeben).
Der gesamte Inhalt wird in das Endergebnis kombiniert, das in einem Skript-Tag (oder Link-Tag für CSS) in die Seite gespoolt wird.
Die Load-Funktion akzeptiert auch eine lokale Datei-URL für den endgültigen script/css-Inhalt. Wenn angegeben, wird stattdessen ein Tag mit einem src für den relativen Pfad für diese lokale Datei angegeben. Z.B.
@jsBundles.Load("~/js/all-my-scripts.js");
Die obige Aussage wird wieder so etwas wie:
<script src="~/js/all-my-scripts.js"></script>
Ein Asynchron-Attribut in den Skript-Tag hinzugefügt werden kann, wenn der zweite Parameter der Load-Funktion vorgesehen ist.
Es funktioniert auch auf css cdn Ressourcen zu. Z.B.
Dies ist für diejenigen, die wie ich, kam hier auf der Suche nach einer Möglichkeit, CDN Ressourcen bündeln.
so mit Ihrer Lösung, wo ist Store CDN-Pfad in diesem Code habe ich das gleiche Problem, ich brauche auch mehrere CSS im Bundle mit CDN laden so können Sie bitte lassen Sie mich wissen, wie kann das tun? – coderwill