2017-02-13 2 views
2

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)?

+0

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

+1

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. –

Antwort

0

folgte ich den Ansatz von JHipster, wo die Angular2-Structure unter

src/main/webapp/app 

ist Der Vorteil ist, dass Sie mehrere Frontend-Technologien in Webapp unter Winkel bündeln können, und alles getrennt halten, aber in einem Projekt. Ich denke, das macht es bis zu einem hohen Grad an Komplexität robust.

Verwandte Themen