如何从库中添加 vaadin 主题

How to add a vaadin theme from a library

我开发了一个 vaadin 库项目。这个库被几个 vaadin 应用程序使用。该库具有可在应用程序中使用的 GUI。

目前,必须手动将库中 GUI 的样式添加到相关应用程序的主题中。我正在寻找一种方法将样式嵌入库本身并仅通过应用程序的引用来使用它(就像应用程序使用以下声明导入 valo 主题一样)。

@import "../valo/valo";

.my-theme {
  @include valo;
}

this 回答中提到了一个解决方案,使用 war 覆盖。但由于某些其他原因,我无法将库转换为 war,因此该解决方案对我不起作用。

我认为这应该是可行的,因为 vaadin 主题实际上是在一个 jar 上,我们可以像上面提到的那样导入它。但是我不知道怎么办。

谁能给我一个方法?

使用您最喜欢的工具(maven、gradle、...)创建一个新项目并确保此构建链允许编译主题(例如通过插件或允许您执行(a) SASS 编译器,参见 https://vaadin.com/book/vaadin7/-/page/themes.compiling.html)

为基础添加您喜欢的主题作为依赖项(例如 com.vaadin:vaadin-themes。然后将您的主题放在您通常将其放在项目中的位置,并按照正确的 SASS 主题设置指南进行操作(参见 https://vaadin.com/book/vaadin7/-/page/themes.html#figure.themes.theme-contents and https://vaadin.com/book/vaadin7/-/page/themes.creating.html)

从这个项目构建一个 jar 并检查内容。确保构成该主题的所有文件都在 VAADIN/themes/<theme>/ 内。确保有一个 VAADIN/themes/<theme>/styles.css -- 这是已编译的主题。

将该 jar 部署到您的 local/company 存储库或直接在您的项目中使用该 jar。