PDA

Prikaži potpunu verziju : Spring boot + angular 2 heroku


NIx Car
29.6.2017, 16:23
Moze li mi neko pomoci kako da deploy-ujem aplikaciju koja je radjena u spring boot kao server side i angular 2 kao client-side. Danima se vec mucim, a rok mi je do sutra popodne da je deployujem na heroku.
Ako je neko radio nesto slicno, bio bih mu zahvalan.

brano88
30.6.2017, 10:05
Spring Boot aplikaciju mozes da deployujes sa embedded Tomcat-om jednostavno preko Procfile-a koji bi izgledao ovako:

web: java -jar target/application-name.jar

...gdje se aplikacija (executable jar) nalazi u target direktorijumu. Struktura projekta izgleda ovako npr:

neki-projekat--
src--
target--
pom.xml (recimo da je Maven koristen za upravljanje projektom)
Procfile

Sto se tice client side aplikacije - "nesam skolovala". Medjutim, mogla bi se spakovati sa server side aplikacijom i da sve deployujes kao jednu aplikaciju. Jednostavno da prebacis client side kod u src/main/resources direktorijum. To bi trebalo da radi.

NIx Car
30.6.2017, 10:07
Problem kod client side-a je taj sto nece da mi se builduje kako treba tj, kod angulara kada pokrenes u komandnoj liniji ng build,trebalo bi da se pojavi dist folder u root-u angularovog projekta. Medjutim, kod mene to nije slucaj :(

NIx Car
30.6.2017, 19:40
Uspeo sam, jedva! Posto mi ng build nije radio (nije mi se generisao dist folder iako je build sam po sebi uredno prolazio), napravio sam novi angular projekat, sve dependency-e preko npm-a sam instalirao koji su mi trebali, i onda sve svoje ts/html fajlove sam prebacio u taj novi projekat, odradio ng build, stvorio mi se dist folder, i sav njegov sadrzaj prekopirao u static folder.

Nakon toga je ostala jos jedna zackoljica, a to je da sve angularove rute spring boot propusti i da servira angularov index.html (resenje za to sam pronasao ovde (https://stackoverflow.com/questions/38516667/springboot-angular2-how-to-handle-html5-urls)).

Za neke vece projekte koji imaju neke custom rute ovo bi mogao da bude veliki problem, ali je meni posluzilo.