Vaadin 的 CssImport 注释是否损坏?
Is Vaadin's CssImport annotation broken?
我们使用了 Vaadin 14.5,自定义 CSS 的 @CssImport
工作正常。
现在我们想更新,但自 14.6 以来,@CssImport
不再加载自定义 CSS。
我们有以下 Maven 结构:
- app-1, -2... : the apps that have common code and style
- shared : all the code and style we share between our apps
|
+- src/main/java/our/package/AbstractUI.java
|
- src/main/resources/META-INF/resources/frontend/
|
+- css
|
+-styles.css
|
- vaadin-vertical-layout.css
在共享工件中,我们有几个用于 Vaadin 组件的自定义 CSS 文件,我们在其中解决必须在阴影 DOMs:[=19 中调整的 CSS =]
vaadin-vertical-layout.css
/* Page */
:host(.Page) {
left: 64px;
padding-top: 2em;
position: absolute;
transition: all 0.5s ease;
width: calc(100% - 64px);
}
然后我们在 class AbstractUI
中加载所有这些自定义 CSS,这是所有其他 UI [=] 的超级 class 44=]es:
@StyleSheet("./css/styles.css")
...
@CssImport(value = "./css/vaadin-vertical-layout.css", themeFor = "vaadin-vertical-layout")
@Theme(value = Material.class, variant = Material.LIGHT)
public abstract class AbstractUI extends VerticalLayout {
然后应用程序就不必理会所有注释,只需扩展 AbstractUI
并加载 CSS 并将其添加到现有影子 DOM CSS.
这在 Vaadin 14 到 14.5.5 时运行良好,但在 14.6.0 之后,不再加载自定义 CSS。 vaadin-maven-plugin
会在构建前端时检查 CSS 文件是否存在(如果不存在则退出并报错),但在应用程序中
CSS 只是没有加载。
澄清一下:@StyleSheet
注释仍然有效,因此 CSS 已加载。
这是 Vaadin 中的错误还是我们遗漏了一些关键信息?
缺少的关键信息是名为“TinyMCE for Flow”的 Vaadin web 组件,这是导致此行为的原因。不知道为什么这么崩溃。
解决方案是将其更新到最新版本 (3.1.1)。
我们使用了 Vaadin 14.5,自定义 CSS 的 @CssImport
工作正常。
现在我们想更新,但自 14.6 以来,@CssImport
不再加载自定义 CSS。
我们有以下 Maven 结构:
- app-1, -2... : the apps that have common code and style
- shared : all the code and style we share between our apps
|
+- src/main/java/our/package/AbstractUI.java
|
- src/main/resources/META-INF/resources/frontend/
|
+- css
|
+-styles.css
|
- vaadin-vertical-layout.css
在共享工件中,我们有几个用于 Vaadin 组件的自定义 CSS 文件,我们在其中解决必须在阴影 DOMs:[=19 中调整的 CSS =]
vaadin-vertical-layout.css
/* Page */
:host(.Page) {
left: 64px;
padding-top: 2em;
position: absolute;
transition: all 0.5s ease;
width: calc(100% - 64px);
}
然后我们在 class AbstractUI
中加载所有这些自定义 CSS,这是所有其他 UI [=] 的超级 class 44=]es:
@StyleSheet("./css/styles.css")
...
@CssImport(value = "./css/vaadin-vertical-layout.css", themeFor = "vaadin-vertical-layout")
@Theme(value = Material.class, variant = Material.LIGHT)
public abstract class AbstractUI extends VerticalLayout {
然后应用程序就不必理会所有注释,只需扩展 AbstractUI
并加载 CSS 并将其添加到现有影子 DOM CSS.
这在 Vaadin 14 到 14.5.5 时运行良好,但在 14.6.0 之后,不再加载自定义 CSS。 vaadin-maven-plugin
会在构建前端时检查 CSS 文件是否存在(如果不存在则退出并报错),但在应用程序中
CSS 只是没有加载。
澄清一下:@StyleSheet
注释仍然有效,因此 CSS 已加载。
这是 Vaadin 中的错误还是我们遗漏了一些关键信息?
缺少的关键信息是名为“TinyMCE for Flow”的 Vaadin web 组件,这是导致此行为的原因。不知道为什么这么崩溃。 解决方案是将其更新到最新版本 (3.1.1)。