Spring + Angular - razem czy oddzielnie?

Spring + Angular - razem czy oddzielnie?
WA
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 5 lat
  • Postów:56
0

Cześć,
buduję sobie do nauki prostą aplikację web w Spring boot i angularze. Jaki jest najlepszy sposób uruchamiania całej aplikacji? Lepiej uruchomić aplikację backend'ową i całkiem oddzielnie serwer angulara na innym porcie i łączyć się do aplikacji angulara czy może wbudować uruchamianie całości w pom.xml czy gradle, by podczas uruchomenia spring boota od razu łączyć się z aplikacją angulara?

K5
  • Rejestracja:około 6 lat
  • Ostatnio:około 3 godziny
  • Postów:1002
1
  1. Za pomocą Spring boota wystawiasz API RESTowe
  2. Z poziomu Angulara robisz http requesty na api springowe i obrabiasz sobie pobrane dane w dowolny sposób ;)

EDIT: ok chyba się pospieszyłem. Lokalnie robisz tak jak mówisz, apka springowa i apka angularowa na 2 różnych portach. Jak będziesz to deployował np na AWS Elastic Beanstalk to skompilowane sourcy angularowe wrzucasz do jara/wara javowego. (pogoogluj jak to zrobić)

edytowany 2x, ostatnio: kixe52
WA
Tak tak, rozumiem, wiem jak działa. Chodzi mi o sam sposób uruchamiania tych aplikacji. Nie wiem, jak precyzyjnie się to nazywa, ale chodzi mi o taką integrację angulara w spring boota, czyli że łącząc się z apką spring boota dostajemy się do apki angulara czy może jednak uruchamiać je oddzielnie, wykorzystać np. jakieś @CrossOrigin jak potrzebne itd.
K5
Już edytowałem, sory. Ogólnie sposobów jest kilka. Konfiguracja angulara aby wrzucał skompilowane sourcy do /src/main/resources/static czy też "zabawa" z pomem mavenowym aby buildował apke angularową automatycznie. Pogoogluj pod haslem "deploy angular spring boot application" i wybierz to co uznasz za łatwiejsze Tobie
TY
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 2 lata
  • Postów:204
1

Pewnie masz osobny projekt z angularem i osobny projekt ze spring bootem.
Dodaj do springowych application.properties property, które ci określa, gdzie są te statyczne resource'y, żebyś jak ta ofiara nie kopiował za każdym razem do resourców, no bez przesady.
Z tego co kojarze, to property to spring.resources.static-locations (albo troche inaczej sie nazywa) i określasz tam po prostu ścieżkę do projektu angularowego

K5
Hej, z tym kopiowaniem "za każdym razem resourców" za pewne odnosisz się do mojego posta. Nie chodziło mi o kopiowane manualne za każdym razem, a skonfigurowanie w angularze aby auotmatycznie przenosił skompilowane pliki w odpowiednią lokalizację - do projektu springowego.
Schadoow
  • Rejestracja:ponad 13 lat
  • Ostatnio:dzień
  • Postów:1067
2

W przypadku pluginu gradlowego do sklejania war'a jest to z buta w przypadku jara trzeba dopisać 3 linijki.
Korzystaliśmy z takiego rozwiązania produkcyjnie i się sprawdzało.

Dla gradla musisz dodać plugin do nodejs który będzie sobie pobierał wersje noda a nastepnie uruchamiał build aplikacji frontendowej, a potem w przypadku war'a w gradlu podajesz tylko lokalizacje w przypadku jara musisz dopisać aby wziął tą paczkę frontendową i wrzucił do jarki. Jest pełno opisu na necie jak to robić.

WA
Tak tak, dzięki za wskazówki. Dotarłem już ostatecznie do tego i własnie o coś takiego mi chodziło.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.