Spring Boot:静态内容正确提供 CSS 但不提供 JS
Posted
技术标签:
【中文标题】Spring Boot:静态内容正确提供 CSS 但不提供 JS【英文标题】:Spring Boot: Static content serving CSS correctly but not JS 【发布时间】:2019-09-20 08:42:45 【问题描述】:我们正在尝试通过 Spring Boot 为 React 应用程序提供服务。
Spring 能够提供 CSS 文件夹的 css 文件 (src/main/resources/static/css/),但不能提供 JS 文件夹的文件 (src/main/resources/static/js/ )。 JS文件夹里面有一个main.8f965741.chunk.js,当我们运行应用程序时,它返回错误404。
这不是浏览器/缓存问题。 这不是文件夹/文件权限问题。
关于如何调试这个有什么想法吗? Spring 基本上没有为 404 提供任何输出。
【问题讨论】:
【参考方案1】:您可以通过将以下内容添加到您的 application.properties
来打开 DEBUG(或 TRACE)级别日志:
logging.level.org.springframework.web: TRACE
然后尝试直接请求 JS 文件,可能使用 curl(例如,curl http://localhost:8080/js/main.8f965741.chunk.js
)
日志应该告诉您请求是如何映射的以及随后是如何处理的。您可以将此处生成的日志与“已知良好”请求(可能来自请求 css 文件)进行比较。
如果您构建了 .jar 或 .war 工件,您还可以将其解压缩(使用 jar xf ...
)并仔细检查 js 文件是否正确打包。
【讨论】:
感谢您的建议!我们对 Spring 还很陌生,这帮助我们弄清楚了。我们从 src/main/resources 提供服务,但是当我们构建一个 .jar 时问题就消失了,所以我们现在就这样做。以上是关于Spring Boot:静态内容正确提供 CSS 但不提供 JS的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Boot 中获取静态资源(js、css)作为 ClassPathResource?