© athalaric/Shutterstock.com
Clientseitige Abhängigkeiten ohne Bower in ASP.NET Core

Raus aus der Abhängigkeit


Für serverseitige Webanwendungen ist mit dem Wegfall des Browser-Dependency-Managers Bower das Einbinden von clientseitigen Bibliotheken wie jQuery oder Bootstrap etwas komplizierter geworden. Einen richtigen Ersatz gibt es nicht, dafür aber viele alternative Lösungen.

Betrachtet man die moderne Webentwicklung, so geht der Trend ganz klar in Richtung Single Page Applications (SPA). Frameworks wie Angular, React und Vue. js sind aktuell beliebte Werkzeuge, um immer mehr Anwendungslogik in den Browser wandern zu lassen. Durch Themen wie Offline-First und Progressive Web Applications sowie stetig neue Technologien wird diese Thematik auch in Zukunft immer mehr an Bedeutung gewinnen.

Doch abseits von SPAs gibt es auch heute noch viele Anwendungen, die ganz klassisch auf dem Server entwickelt werden. Gerade mit ASP.NET Core ist das auch ein völlig valider Weg, da Funktionen wie MVC, Razor Pages oder Tag Helper dies sehr komfortabel machen. Aber nur weil eine Website primär serverseitig ist, heißt das natürlich nicht, dass komplett auf clientseitige Logik verzichtet wird. Bibliotheken wie jQuery oder Bootstrap sind auch heute noch relevant, obwohl es gar nicht so trivial ist, sie aktuell in Projekte einzubinden.

Die Vergangenheit mit ASP.NET MVC

Bevor man sich mit den Lösungen beschäftigt, lohnt ein Blick zurück, um zu verstehen, wie es überhaupt zur aktuellen Situation kommen konnte. Beim klassischen ASP.NET MVC gab es zwei übliche Wege, clientseitige Abhängigkeiten in einem Projekt hinzuzufügen: Als NuGet-Paket, das alle notwendigen Dateien automatisch in den richtigen Ordner kopierte, oder über den Paketmanager Bower, der die Abhängigkeiten browsergerecht bereitstellte.

Für .NET-Entwickler war die NuGet-Variante vermutlich die einfachste: Man musste lediglich ein NuGet-Paket hinzufügen, und schon waren die clientseitigen Dateien installiert. Es machte also gar keinen Unterschied, ob man eine serverseitige oder eine clientseitige Bibliothek benötigte. Nutzte man den NuGet-Paketmanager, wurde alles gleich richtig bereitgestellt. Möglich war dies über eine Funktionalität in NuGet, die es Paketen erlaubte, Dateien in das Projektverzeichnis zu kopieren. Seit der Integration von NuGet in MSBuild und der damit verbundenen Einführung von PackageReference-Elementen in der Projektdatei funktioniert das aber nicht mehr.

Somit blieb vorerst nur Bower als Alternative. Bower ist ein Paketmanager, der die Pakete in einer Weise bereitstellt, die es ermöglicht, dass sie von ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang