У меня есть текущая структура проекта для углового проекта с весенней загрузкой
+--app-ui
|--+--src
|--+--dist
|--app-backend
|--+--src
|--+--+--main
|--+--+--+--resources
|--+--+--+--+--static
|--+--+--+--java
app-ui содержит код angular 6, бэкэнд приложения содержит код загрузки Spring. Теперь каждый раз, когда я создаю app-ui, я хочу, чтобы содержимое папки dist в app-ui копировалось в app-backend / src / main / resources / static.
Для этого я добавил эти строки в угловую сборку
"predeploy": "rimraf ../app-backend/src/main/resources/static/ && mkdirp ../app-backend/src/main/resources/static",
"deploy": "copyfiles -f dist/** ../app-backend/src/main/resources/static/
Это создает статическую папку внутри проекта загрузки Spring, но не копирует файлы и папки внутри папки dist.
Если вы используете AngularCLI (с файлом angular.json), просто измените свойство outputPath, указав желаемый статический каталог.
"outputPath": "../app-backend/src/main/resources/static"
Я пробовал этот способ интеграции моего углового приложения с spring -boot, чтобы статический код был по крайней мере в пути к весеннему загрузочному приложению. Но я все еще не мог видеть пользовательский интерфейс, когда мое приложение Spring работает на порту 8080.
Не уверен, что я что-то упускаю, но большая часть моего внешнего кода отсутствует; Компоненты ng .ts, .html и .css находятся в каталоге frontend / src, который я никуда не перемещал. Какие-либо предложения?
Ваш контроллер возвращает index.html?
@Swastik Я не думаю, что мне нужен контроллер для возврата index.html, хотя и не уверен. Поскольку index.html теперь уже находится на пути к приложению spring -boot (/ resources / static dir), поэтому не создавал никакого контроллера специально для этого.
вам нужен контроллер индекса, который возвращает index.html.
Маршрутизация будет обрабатываться angular оттуда
@Swastik, спасибо, что указали. Я создал контроллер, но не вижу пользовательского интерфейса, за исключением того, что я вижу напечатанную строку «index.html», которую я возвращаю в контроллере. Я вижу угловой значок на вкладке Chrome, что означает, что он может правильно указывать, но index.html почти ничего не имеет. В теге body упоминается корневой угловой компонент. Вот точная проблема, если бы вы могли помочь. stackoverflow.com/questions/52079379/…
Спасибо. Это намного проще, чем настройка в spring boot pom.xml