我开发了一个 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 和 https://vaadin.com/book/vaadin7/-/page/themes.creating.html )
从此项目构建一个 jar 并检查内容。确保组成此主题的所有文件都位于 VAADIN/themes/<theme>/
中之内。确保有 VAADIN/themes/<theme>/styles.css
-- 这是编译好的主题。
将该 jar 部署到您的本地/公司存储库或直接在您的项目中使用该 jar。
关于java - 如何从库添加 vaadin 主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34648219/