Momentan habe ich eine große Komponente, die den Haupt-App-Modul-Dienst und die Routings verwendet. Ich bin mir nicht sicher, ob es eine gute Übung ist, ein neues Modul dafür zu erstellen.
Meine Frage :
Letztendlich kam das Modulkonzept zu Angular 2 wegen der Notwendigkeit lazy loading . Es musste einen einzigen Ort geben, an dem die Abhängigkeiten eines Abschnitts einer Anwendung deklariert und Dienste bereitgestellt werden konnten.
Im Allgemeinen besteht meine Präferenz im Allgemeinen darin, die Anwendung nur in Module zu unterteilen, wie es für das verzögerte Laden erforderlich ist. Persönlich finde ich weitere Moduldeklarationen von begrenzter Verwendung.
Dennoch gibt es für Module keine Best Practice. Vieles davon ist projektabhängig. Einige Entwickler bevorzugen es, ein Modul für jede Komponente zu erstellen, während andere nur ein einziges Modul für ihre gesamte Anwendung haben.
Für die Verwendung einer großen Anzahl von Modulen: gibt es nur wenige Nachteile beim Erstellen dieser Module außer der Code-Ausführlichkeit. Sie haben kleinere Abschnitte Ihrer Anwendung, die problemlos neu angeordnet und in andere Anwendungen verschoben werden können. Abhängigkeiten für bestimmte Bereiche Ihrer Anwendung sind auch expliziter (anstatt alle Anweisungen Ihrer Anwendung für alle Komponenten verfügbar zu haben).
Anstatt eine kleine Anzahl von Modulen zu verwenden: benötigen Sie weniger Zeit, um die Komponenten zu deklarieren, die von Modulen gemeinsam genutzt werden. Ein einzelnes Stammmodul, das alle Ihre Komponentendeklarationen enthält, ist die einzige Quelle der Wahrheit für die Abhängigkeiten Ihrer Anwendung.
Im Allgemeinen würde ich sagen, gehen Sie mit Ihrem Bauchgefühl. Die Entscheidung, ein Modul zu erstellen, unterscheidet sich nicht wesentlich von der Entscheidung, einen neuen Ordner in Ihrer Anwendung zu erstellen. Wenn Sie feststellen, dass Sie sich mit der Größe und dem Umfang eines Moduls nicht wohl fühlen, sind die Kosten für das Refactoring minimal.
Bei JavaScript gibt es immer das Problem von Namespaces.
Angular 1 enthält Module, die uns helfen, unseren Code zu organisieren und einige Namespacing-Probleme zu lösen.
TypeScript (Angular 2) enthält auch Module, die dazu beitragen, dass der globale Namespace nicht verloren geht.
Es gibt viele Anwendungsfälle , in denen wir Angular 2 Module verwenden müssen. Angenommen, eine Anwendung erhält mehr Funktionen, können wir diese Funktionen in ihren eigenen Feature-Modulen gruppieren. Wir können sogar gemeinsame oder gemeinsame Module für Code definieren, der von mehreren Winkelmodulen verwendet wird. Dies hält den Code organisiert und bietet eine zusammenhängende Einheit, die wir nach Start laden können, oder Lazy Load nach Bedarf. Es macht Ihre Anwendung viel schneller.
Tags und Links angular