dedlfix: Wie ersetzt man AngularJs Factorys

Beitrag lesen

Tach!

Wie schreibe ich in Angular8 JavaScript Module die von anderen Modulen verwendet werden können und die mit den Komponenten interagieren?

Angular 2 hat ja eine Menge alter Zöpfe von AngularJS abgeschnitten und viele Dinge vereinfacht. Zu klären wäre in dem Fall, welche funktionale Aufgabe dieser Codeteil hat, und welche Teile von Angular 2+ gemäß der neuen Philosophie dafür zuständig sind. Vermutlich wird es wohl ein Service sein.

Ich würde z.b. gerne ein JavaScript Modul schreiben, welches von allen Komponenten angesprochen werden kann.

Wenn es auch unabhängig von Angular eingesetzt werden soll, dann erscheint mir das sinnvoll. Wenn es lediglich Geschäftslogik der Anwendung ist, würde ich das gemäß der Angular-Philosophie umsetzen. Ansonsten hast du am Ende vielleicht zwei Teile, den eigentlichen Code und einen Wrapper, der das für den Rest der Angular-Anwendung verfügbar macht.

Kann ich da einfach nodejs Module in den ts Files imporieren?

Man kann von TypeScript aus problemlos sämtliche JavaScript-Features und in JavaScript geschriebenen Code verwenden. Es ist nur nicht besonders schön, wenn man die Typsicherheit von TypeScript schwächt, indem man sich untypisierten JavaScript-Code ins Boot holt. Das schränkt auch die Unterstützungsmöglichkeiten einer IDE ein. Man kann zwar Declaration Files erstellen, und so den JavaScript-Code nachträglich typisieren, aber das ist auch nur eine Notlösung, die bei Änderungen immer mitgepflegt werden muss. Wenn es denn etwas sein soll, dass unabhängig von Angular agieren soll, würde ich das auch in TypeScript entwickeln. Die Plain-Old-JavaScript-Welt kommt ja auch mit dem Transpilat problemlos zurecht.

dedlfix.