Статическое содержимое Spring (css) не обслуживается должным образом (загрузка пружины) - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть приложение весенней загрузки и контроллер, который статически размещает веб-страницу сервера (сборка React):

@Controller
@RequestMapping("/test")
public class HomeController {

    @GetMapping("/")
    public String index() {
    return "index.html";
} 
 ...

index.html находится по адресу: ../resources/static/index.html

также в application.yml:

spring:
  mvc:
    static-path-pattern: /test/**

У меня две проблемы (проблема 2 - основная проблема):

  1. Я должен вызвать следующий URL с завершающим символом '/' в конце: http://localhost:8100/test/ Я хотел бы, чтобы http://localhost:8100/test также отобразил меня в представление (index.html) .

  2. при загрузке страницы я получаю следующую ошибку: Error

проблема, как вы можете видеть, заключается в том, что вызываемый URL: http://localhost:8100/static/css/main.6c417d20.chunk.css

а не

http://localhost:8100/test/static/css/main.6c417d20.chunk.css

(обратите внимание, что причина появления «static» в URL-адресе заключается в том, что под папкой resources / static есть папка с именем «static», поэтому в «url» нет проблем с «static»)

это проблема на стороне сервера или что-то, что я должен исправить в реакции?

Я искал ответ, но не нашел ничего полезного.

любая помощь будет высоко ценится, Tnx

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Итак, ответ на мой вопрос заключается в следующих ссылках:

  1. как построить реакцию на некорневой путь (домашняя страница):

    сборка реагирует без корневого пути

  2. регистрация клиента zuul по следующему пути (который содержит все ресурсы):

    Конфигурация Zuul с ресурсами

, поэтому я оставляю это здесь на тот случай, если у кого-то возникнет такая же проблема (ответ во второй ссылке для vue.js и webpack, первая ссылка объясняет, как изменить корневой адрес в реакции).

0 голосов
/ 06 ноября 2018

Ответ 1: @RequestMapping имеет параметр значения String [], поэтому можно указать несколько значений, например:

@RequestMapping(value={"", "/", "welcome"})

Ответ 2: Вы ожидаете test в URL, который является отображением контроллера, а не контекстным путем проекта, поэтому он не должен входить в статические URL ресурсов.

см. этот ответ для большей ясности добавив css и js в весеннюю загрузку.

...