Подтвердить что ты не робот

Как развернуть приложение AngularJS и Spring службу Restful API на том же домене/сервере?

Я новичок в Spring и AngularJS. Я выполнил шаги здесь, чтобы построить back end restful API, и он отправляет Json по запросу. Итак, согласно руководству, когда я запускаю "mvn spring -boot: run", сервер tomcat запускается с localhost: 8080.

Затем я использовал генератор Yeoman angular для создания моего приложения angular. И когда я запускаю "grunt serve" внутри моего приложения angular, приложение переднего конца работает на localhost: 9000.

Что мне делать, чтобы приложение angular можно было подавать вместе с моим сервером tomcat Springboot в том же домене, скажем, localhost: 8080?

Есть ли образец проекта, за которым я могу следовать? Я нашел следующие проекты, но до сих пор не могу заставить его работать, поскольку у меня нет большого фона на tomcat.

4b9b3361

Ответ 1

Вам нужно взять либо:

  • встроенные файлы (grunt build затем в основном все в каталоге dist/)
  • необработанные файлы (ваш index.html и все JS as-is)

и скопируйте их в одну из следующих папок (рекомендую/public/): http://spring.io/blog/2013/12/19/serving-static-web-content-with-spring-boot

Spring Boot автоматически добавит статические веб-ресурсы, расположенные в любом из следующих каталогов:

/META-INF/ресурсы/

/ресурсы/

/статический/

/государственный/

Это означает, что не только Spring Boot предлагает простой подход к созданию приложений Java или Groovy, вы также можете использовать его для простого развертывания клиентского кода JavaScript и тестирования его в реальной среде веб-сервера!

Это будет больно для развития, так как вам придется повторно копировать файлы каждый раз, когда вы делаете изменения для интерфейса. Для производства вашей целью должно быть развертывание версии с копией встроенных файлов с вашим приложением Spring.

Для разработки вы можете подумать о том, чтобы позволить хрюкать, обслуживать контент Angular и запускать как Tomcat, так и ваш сервер grunt (это node?) и разрешать запросы на кросс-начало между вашим передним и задним концами. ИЛИ вы можете просто скопировать весь каталог Angular в один из указанных выше каталогов, но это краткосрочный подход.