Spring Boot не обслуживает ресурсы сборки Vite dist/prod, только index.htmlJAVA

Программисты JAVA общаются здесь
Anonymous
Spring Boot не обслуживает ресурсы сборки Vite dist/prod, только index.html

Сообщение Anonymous »

У меня есть серверная часть Java Spring Boot с настроенным сервером Tomcat.
У меня есть интерфейс React, упакованный с использованием Vite, с «vite build», отправляющим все на «dist». каталог.
Я перемещаю этот каталог «dist» в свой каталог «src/main/resources/static/», который будет автоматически обслуживаться Spring. Это работает в контейнере Docker.
Я могу открыть свою домашнюю страницу. Однако внешний интерфейс не воспринимает CSS, упакованный Vite, несмотря на то, что я вижу его в папке dist в dist/assets/* и путь в моем dist/ index.html в этот файл assets/index-${HASH}.css верен.
Это происходит только на подмаршрутах из index.html в моем приложении. Стоит отметить, что при обновлении страницы я получаю "Страницу ошибки Whitelabel". Как будто мое приложение не распознает, что, например, https://localhost/route/routewo должен быть постоянным путем от точки входа index.html.
Что странно в этом и затрудняет устранение неполадок, так это то, что все работает правильно при запуске Vite Preview в другом контейнере Docker. Я могу видеть дочерние маршруты с правильным CSS, без проблем обновлять страницу и т. д.
В «Инструменты разработчика -> Источники» я вижу содержимое index.html. для подмаршрута при запуске предварительного просмотра Vite, но не при попытке обслужить его как часть Spring. Это что-то о том, как Spring взаимодействует с моей сборкой Vite.
Есть идеи?
Я пробовал множество вещей, включая, помимо прочего:
  • Извлечение dist из контейнера предварительного просмотра Vite, вставка его в мой внутренний каталог src/main/resources/static и обслуживать его таким образом, а не создавать динамически с каждым контейнером Docker. Никакой кости, все еще не найден мой /assets/index-${HASH}.css
  • Делаю то же самое, что и выше, но перемещаю assets/* наружу из каталога ресурсов и в тот же каталог, что и src/main/resources/static/index.html, изменив путь в index.html. Нет результата.
  • Проведено тщательное тестирование, чтобы убедиться, что это не проблема с каталогом в моих сборках Docker. Подтверждено, что практически нет разницы между успешным контейнером и неудачным, за исключением того, что один использует предварительный просмотр Vite, а другой использует статическое обслуживание ресурсов Spring.


Подробнее здесь: https://stackoverflow.com/questions/754 ... index-html

Вернуться в «JAVA»