Die Methoden Scripts.Render
und Styles.Render
machen eigentlich nichts anderes, als ein einfaches Tag zum generierten HTML hinzuzufügen. Der Kern dessen, worüber Sie sprechen - eine Menge Skripte/Styles in einem Aufruf zusammengefasst - ist die von MVC gebotene Bündelung. In ASP.NET Core wurde die Methode zum Erstellen dieser Bundles einfach geändert. das ist alles.
Jetzt haben Sie bundleconfig.json
statt BundleConfig.cs
. Anstatt Scripts.Render
aufzurufen, um das Bundle einzuschließen, verweisen Sie einfach direkt auf das gebündelte Skript. Ebenso mit deinem Stil.
Standardmäßig gibt es ein einziges Bündel für jedes site.js
site.css
und dass „gebündelte“ (und minimierte) in site.min.js
und site.min.css
, respectively. Also, würden Sie gerade tun:
<environment names="Staging,Production">
<script src="~/js/site.min.js" asp-append-version="true"></script>
</environment>
Die environment
Tags einfach bestimmen, wann diese HTML in der Ausgabe enthalten sein. Hier ist das nur, wenn die Umgebung Inszenierung oder Produktion ist. Das Skript-Tag ist eine Hard-Referenz für das "Bundle". Dies ist Funktionalität entspricht dem, was man mit etwas erreicht hätte wie:
@Scripts.Render("~/bundles/site")
, der selbst haben nur das folgende Skript-Tag gemacht würde:
<script src="~/bundles/site?v=abc123"></script>
Mit anderen Worten: Sie brauchen nicht die Scripts.Render
und Styles.Render
Methoden, da sie eigentlich ziemlich nutzlos sind. Selbst in früheren Versionen von MVC hätten Sie sie vermeiden können und nur Tags erstellt, die direkt auf Ihre Bundles verweisen.
Weitere Informationen zur Funktionsweise von Bündelung und Minification in ASP.NET Core finden Sie unter documentation.
re anon downvotes ... zeigen Sie mir die Passage in den Migrationsdokumenten, wo der aktualisierte Fluss dokumentiert ist, sowie die AA? – justSteve