jam*_*mie 6 vaadin spring-boot vaadin-flow
有什么想法为什么在生产环境中发布新的 Vaadin / Spring-Boot 应用程序时,Vaadin 不会在前端目录中渲染自定义 css,尽管它在调试模式下会渲染?
该应用程序是为生产而构建的,如下所示:
mvn install -Pproduction
Run Code Online (Sandbox Code Playgroud)
然后运行生成的应用程序,如下所示:
java --enable-preview -jar target\app-1.0-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
通过 JAR 文件方法运行时,CSS 未在浏览器中正确应用。其他一切都很好。
当应用程序运行时如下:
mvn spring-boot:run
Run Code Online (Sandbox Code Playgroud)
所有页面均正确呈现。CSS 已正确加载。
在LoginView类中,CSS的导入如下:
@CssImport(value = "./views/login/login-view.css", themeFor = "vaadin-login-overlay-wrapper")
Run Code Online (Sandbox Code Playgroud)
login-view.css 文件位于 [项目目录]\frontend\views\login-view.css
当运行 mvn spring-boot:run 时,CSS 文件被正确拾取,但是,当使用 JAR 方法运行时,则不然。我不确定这是否是设计使然,但我没有看到 css 文件存储在生成的 JAR 文件中的任何位置。
为了缓解这种情况,我尝试将前端文件放在 [project dir]\src\main\resources\META-INF\frontend 中,而不是默认位置 [project dir]\frontend 中,因为我在某处读到 CssImport 在 resources\ 内部查找通过 JAR 运行时的 META-INF\frontend 文件夹。当我将文件放在这个位置时,CSS 文件会合并到 JAR 中,并且可以从 http://localhost:8080/frontend/views/login/login-view.css 进行访问,但是可惜 LoginView 页面似乎仍然不存在渲染 CSS。
该应用程序最初是使用 Vaadin 应用程序构建器构建的。pom.xml 与默认的大致相同。我正在运行 Vaadin 19.0.7。提前致谢
| 归档时间: |
|
| 查看次数: |
427 次 |
| 最近记录: |