Fehler in ASP.NET Core Web Anwendung mit Angular und Visual Studio

Heute wollte ich mir mal Angular mit einer ASP.NET Core WebAPI Anwendung anschauen. Also habe ich ein neues Projekt erstellt.

Ich habe nun alles bei den Standardeinstellungen belassen und wollte es mir sogleich anschauen. Leider musste ich feststellen, dass es einen Fehler gab:

Laufzeitfehler in JavaScript: Die Eigenschaft "apply" eines undefinierten oder Nullverweises kann nicht abgerufen werden.

Woher kommt dieser also? Ich nutze zum Debugging von Websites unter Visual Studio den Internet Explorer, weil er immer die beste Unterstützung bot und anscheinend auch der kleinste gemeinsame Nenner ist. Leider ist es auch hier der Fall, denn der IE unterstützt Funktionen nicht, die Angular dringend braucht. Erstellt man ein Angular Projekt mit Angular CLI, wird eine polyfills.ts mitgeliefert, die die benötigten Funktionen „nachliefert“, aber auskommentiert sind. Beim Visual Studio Projekt fehlt diese Datei leider gänzlich.

Da neben meinem Debugging auch noch viel zu viele Nutzer den IE verwenden, bleibt einem im großen Web wohl nicht viel übrig, als diese Funktionen selbst einzufügen.

Am einfachsten erstellt man sich dazu mit Angular CLI ein Blankoprojekt in einem beliebigen Order mit Hilfe einer Kommandozeile:

ng new ngDefault

Aus diesem Projekt kopiert man sich die Datei „src/polyfills.ts“ in das ClientApp Verzeichnis der ASP.NET Core Anwendung. Schließlich fügt man in die Datei boot.browser.ts die folgende erste Zeile ein. Diese sollte natürlich am Anfang stehen, damit alle folgenden Dateien Zugriff auf die Funktionen haben.

Alternativ kann man auch den Inhalt der Polyfills-Datei an der Stelle einfügen:

Fertig. Nun kann man das Projekt wie gewohnt im Internet Explorer debuggen und – noch wichtiger – Nutzer mit dem IE können die Seite auch benutzen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.