Verbesserung der TypeScript-Unterstützung in Azure Functions

Veröffentlicht am 25 Februar, 2019

Program Manager, Azure Functions

TypeScript wird in der JavaScript-Community zunehmend beliebter. Da Node.js in Azure Functions ausgeführt werden kann und TypeScript in JavaScript kompiliert wird, konnten motivierte Benutzer TypeScript-Code bereits in Azure Functions einrichten und ausführen. Dieser Ansatz war jedoch nicht nahtlos, und der Einstieg wurde durch Elemente wie unsere Standardordnerstruktur ein wenig erschwert. Heute freuen wir uns, eine Reihe von Toolverbesserungen bekannt zu geben, die diese Situation vereinfachen. Azure Functions-Benutzer können jetzt ihre ereignisgesteuerten Anwendungen ganz einfach mit TypeScript entwickeln.

Falls Ihnen TypeScript nicht bekannt ist: Es handelt sich um eine Obermenge von JavaScript, die optionale statische Typisierung, Klassen und Schnittstellen bietet. Durch diese Funktionen können Sie Fehler früher im Entwicklungsprozess erkennen und erzielen so eine robustere Softwareentwicklung. TypeScript ermöglicht Ihnen außerdem indirekt, moderne JavaScript-Syntax zu nutzen, da TypeScript mit ECMAScript 2015 kompatibel ist.

Mit diesen Änderungen an den Azure Functions Core Tools und der Azure Functions-Erweiterung für Visual Studio Code unterstützt Azure Functions jetzt TypeScript ohne Anpassungen. Zu den Änderungen gehört auch eine Gruppe von Vorlagen für TypeScript, Typendefinitionen und npm-Skripts. Lesen Sie weiter, um mehr über diese neue Erfahrung zu lernen.

Vorlagen für TypeScript

In der neuesten Version der Azure Functions Core Tools und der Azure Functions-Erweiterung für VS Code haben Sie die Möglichkeit, TypeScript für das Erstellen von Funktionen zu verwenden. Genauer gesagt, wird nun beim Erstellen einer neuen Funktions-App eine Option angezeigt, mit der Sie bei der Auswahl des Sprachstapels TypeScript angeben können. Durch diese Aktion werden die Dateien „package.json“ (Standard) und „.tsconfig“ angemeldet, und die App wird als TypeScript-kompatibel eingerichtet. Wenn Sie anschließend eine Funktion erstellen, können Sie zwischen verschiedenen TypeScript-spezifischen Funktionsvorlagen auswählen. Jede Vorlage steht für einen möglichen Auslöser, und es gibt ein TypeScript-Äquivalent für jede in JavaScript unterstützte Vorlage.

Zwischen mehreren TypeScript-spezifischen Funktionsvorlagen für unterschiedliche Auslöser auswählen

Das Beste an diesem neuen Flow ist, dass Sie zum Transpilieren und Ausführen von TypeScript-Funktionen keinerlei Aktionen, die nur für Functions gelten, ausführen müssen. Dies bedeutet beispielsweise, dass ein Benutzer zum Debuggen von Visual Studio Code F5 drücken kann und Code dann automatisch die erforderlichen Installationsaufgaben ausführt, den TypeScript-Code transpiliert und den Azure Functions-Host startet. Diese lokale Entwicklung ist in ihrer Klasse einzigartig. Sie gleicht genau dem Debuggen jeder anderen App in VS Code.

Erfahren Sie mehr über das Einrichten und Starten Ihrer TypeScript-Funktionen in unserer Dokumentation.

Typdefinitionen für Azure Functions

Das Paket @azure/functions bei npm enthält Typdefinitionen für Azure Functions. Haben Sie sich schon einmal gefragt, wie ein Azure Functions-Objekt aussieht? Oder vielleicht das Kontextobjekt, das an jede JavaScript-Funktion übergeben wird? Dieses Paket hilft Ihnen dabei. Um TypeScript voll nutzen zu können, sollte es in jede .ts-Funktion importiert werden. JavaScript-Puristen profitieren ebenfalls davon: Wenn Sie dieses Paket in Ihren Code einschließen, genießen Sie alle Vorteile von IntelliSense. Im Paket @azure/functions bei npm erfahren Sie mehr.

npm-Skripts

In TypeScript-Funktions-Apps ist standardmäßig eine Datei „package.json“ mit einigen einfachen npm-Skripts enthalten. Diese Skripts ermöglichen Azure Functions, sich direkt in Ihren typischen Entwicklungsflow einzupassen, indem bestimmte Azure Functions Core Tools-Befehle aufgerufen werden. Beispielsweise ruft „npm start“ automatisch „func start“ auf, sodass Sie eine Funktions-App nach dem Erstellen nicht anderes behandeln müssen als jedes andere Node.js-Projekt.

Dies können Sie sich in unserem Beispielrepository genau ansehen.

Probieren Sie es selbst!

Mit den Azure Functions Core Tools oder der Azure Functions-Erweiterung für VS Code können Sie den verbesserten Umgang mit TypeScript in Azure Functions auf Ihrem lokalen Computer ausprobieren, selbst wenn Sie kein Azure-Konto haben.

Nächste Schritte

Fühlen Sie sich wie immer eingeladen, sich mit jeder Art von Feedback bei GitHub oder Twitter an das Team zu wenden. Viel Spaß beim Programmieren!