Не удается отобразить представление с contextPath / foo (Vue.js. + Spring Boot) - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть приложение на основе Vue.js на внешнем интерфейсе и Spring Boot на заднем конце.

Моего производственного приложения нет вкорень сервера и это подпуть в localhost:8090/ui.Вот мой application.yml :

server:
  port: 8090
  servlet:
    contextPath: /ui

Я установил assetsPublicPath: '/ui' в config/index.js, поэтому все мои ссылки в index.html похожи на /ui/static/...

Согласно Google Chrome, мой рабочий сервер успешно возвращает все мои статические активы, например localhost:8080/ui/static/images/example.png, но . По какой-то причине я не вижу свой пользовательский интерфейс .enter image description here

Поскольку я реализовал свой интерфейс как одностраничное приложение, я настроил свой сервер, используя WebAutoConfig для перенаправления всех на index.htmlвот так:

@Configuration
public class WebAutoConfig implements WebMvcConfigurer {
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/")
                .setViewName("forward:/index.html");
    }
}

Также я использую свойство mode: 'history' в router\index.js.Без этого все работает нормально, но я не хочу уродливые хэши в URL, как localhost:8090/ui/#/.Более того, все работает отлично даже при включенном режиме истории, но без подпути, т.е. contextPath: / enter image description here

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...