Код: Выделить всё
├── frontend
│ ├── dist
│ | ├── app.js
│ | ├── vendor.js
│ | ├── style.css
│ | ├── index.html
│ ├── node_modules
│ ├── src
│ ├── package.json
│ ├── pom.xml
├── site
│ ├── src
│ ├── pom.xml
Код: Выделить всё
frontendВсе файлы внутри frontend/dist (включая html) автоматически генерируются веб-пакетом. Чтобы получить доступ
к ним из приложения Spring Boot, я настроил профиль разработки.
application.yml
Код: Выделить всё
spring:
profiles: development
resources:
static-locations:
- file:../frontend/dist/
Код: Выделить всё
http://localhost:8080/ -> 404
http://localhost:8080/app.js -> 404
Кроме того, если я заменяю static-locations на addResourceHandlers, это тоже работает (независимо от того, с инструментами разработчика или без них).
Код: Выделить всё
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("file:/full/path/to/frontend/dist/");
}
ОБНОВЛЕНИЕ:
Хорошо, благодаря @AndyWilkinson, я выяснил причину проблемы. Я работаю в IntelliJ и использую конфигурации запуска для установки переменных env. Вот полученная командная строка:
Код: Выделить всё
/usr/lib/jvm/java-8-oracle/bin/java -bla-bla-bla -Didea.version=2017.1.3 -T 2 -Dspring.profiles.active=dev spring-boot:run
Код: Выделить всё
Could not find key 'spring.profiles.active' in any property source
No active profile set, falling back to default profiles: default
Код: Выделить всё
The following profiles are active: dev
Activated profiles dev
Возможный обходной путь — установить активный профиль непосредственно через application.yml.
Код: Выделить всё
spring:
profiles:
active: dev
---
spring:
profiles: dev
resources:
static-locations:
- file:../frontend/dist/
Поскольку инструменты разработчика — это такая боль, я думаю, что предпочту использовать F5, как и раньше.
Подробнее здесь: https://stackoverflow.com/questions/446 ... h-devtools
Мобильная версия