0

Spring Boot 应用程序被打包为一个fat jar文件。我正在Tomcat使用Spring Boot. 我没有更改application.propertiesfor中的默认位置spring.resources.static-locations。Angular 应用程序的生产版本添加在/static. server.servlet.context-path设置为appserver.port8480base href因为index.html.

/static
- /assets
-- /images
---- logo.png
---- /flags
------ flag.png
-- /scss
- index.html
- *.js
- *.js.map
- *.ttf
- *.eot
- *.svc
- *.woff
- *.woff2

我可以加载界面并且 Angular 应用程序正在正确发送 REST 请求,但我无法加载任何图像资源。/assets/scss在开发工具中被正确识别,但不是/assets/images. 还@Configuration根据视频添加了此内容。

@Configuration
public class StaticResourceConfigurator extends WebMvcConfigurerAdapter {
   @Override
   public void addResourceHandlers(ResourceHandlerRegistry registry) {
      registry
        .addResourceHandler("/assets/images/**")
        .setCachePeriod(0)
        .addResourceLocations("classpath:/static/assets/images/");
      }
}

对图像资源的请求被发送到localhost:8480/assets/images/logo.png它应该被发送到的时间localhost:8480/app/assets/images/logo.png

我正在使用 IntelliJ IDE。这是我的截图resources

使用生产构建应用程序的 ChromeDevTools 日志。替换appafs

4

1 回答 1

0

您应该按如下方式更改索引文件的 baseUrl

如果您的 Jar 名称是 app.jar,那么您的 baseUrl 必须是

<base href="/app/">
于 2019-03-21T05:30:44.247 回答