Во время разработки я настоятельно советую вам не связывать фронтенд с бэкэндом (пружинной загрузкой), это сделает вещи намного сложнее и сложнее в разработке. Как я знаю, в весенней загрузке нет способа «горячей перезагрузки» файлов в ресурсах stati c. И даже если, как бы вы сначала перекомпилировали ваш angular проект? Это делается с помощью пакета mvn во время компиляции, а не во время выполнения.
Чтобы решить вашу проблему, я бы сделал следующее:
- Используйте
ng serve
при разработке веб-интерфейса - Запустите автономный бэкэнд весенней загрузки (без встроенного веб-интерфейса)
Чтобы справиться с упомянутой вами проблемой CORS, я бы использовал функцию прокси, которую angular предоставляет вне the-box:
- Добавьте файл конфигурации прокси в раздел
serve
вашего angular. json:
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "client:build",
"proxyConfig": "proxy.conf.json" <------- proxy config
},
"configurations": {
"production": {
"browserTarget": "client:build:production"
}
}
},
Затем добавьте конфигурацию прокси в ваш проект:
{
"/api/*": {
"target": "http://localhost:8080",
"secure": false,
"logLevel": "debug"
}
}
Возможно, вам придется изменить конфигурацию в зависимости от настроек вашего локального порта и прочего. Когда вы делаете запрос к http://localhost:4200/api/any/endpoint
, он будет перенаправлен на http://localhost:8080/api/any/endpoint
без нарушения каких-либо правил CORS вашего браузера.
Затем ваш веб-интерфейс должен быть настроен на выполнение запросов к домену, в котором он находится в данный момент. или у вас может быть другой файл среды для разработки и разработки, где вы можете просто изменить URL.