Ich habe nach einer Beispielstruktur eines Projekts gesucht, wenn Sie beispielsweise Java/Spring-Backend und ein Frontend wie Angular2 haben.Wie strukturiere ich mein Spring-Projekt mit Angular Frontend?
Mein erster Gedanke war, dass sie in zwei separaten Ordner der obersten Ebene, wie
src/
ui/
Auf diese Weise gehen würde ich sowohl als ihre eigenen Anwendungen werden zu behandeln, als wären sie tatsächlich fühlen (da die Logik in Winkel wird anders sein als das, was im Backend passiert).
Aber dann dachte ich über die Tatsache nach, dass dies es schwieriger macht, beim Durchsuchen des Backends zu finden, was eigentlich eine Front-End-Darstellung des gegebenen Pakets ist. Also dachte ich über eine Struktur mit wie
src/main/java
src/main/javascript
Und dann folgen Java-like-Paket Ordnerstruktur. Dies würde es einfacher machen zu sehen, wo eine Sache in der Benutzeroberfläche steht und welcher Controller/Dienst für die Beantwortung seiner Anfragen zuständig ist.
Allerdings kann ich mich nicht daran erinnern, welche der beiden für ein zukünftiges Projekt besser sein wird. Gibt es einen Artikel/Leitfaden, den Sie mir für solche Situationen empfehlen können (Hybridtechnologien und Projektstruktur, oder vielleicht ist dies ein spezifischer Stack, den ich nicht kenne und der bereits einige bewährte Praktiken enthält)?
Um dies näher auszuführen, denke ich, dass eckig mehr eine eigenständige App als ein Teil von Java ist. Da ich server-seitiges Rendering oder ähnliches nicht verwenden werde, ist meine persönliche Meinung, dass es einen eigenen ui-Ordner haben sollte und einfach der Benennung von Java-Paket-Ordnern folgen sollte. Ich bin mir jedoch nicht sicher, ob ich das als nachhaltige und skalierbare Struktur sehe, wenn ich in das Projekt komme, also frage ich euch. – Mackiavelli
Ich benutze ein Multi-Modul-Gravel (aber würde das gleiche mit Maven) Projekt, mit zwei Modulen: Frontend und Backend. Das Backend hat eine Standard-Java/Spring-Struktur. Das Frontend hat eine Standard-Winkel-Cli-Struktur. Die Hauptaufgaben des Frontend-Moduls enthalten nur Befehle. Die War/Jar-Aufgabe des Backends hängt vom Frontend-Build ab und beinhaltet die Artefakte, die im dist-Ordner des Frontends im Krieg/Jar generiert werden. –