3.5.15.1. 使用 WebJars
此方法允许使用打包到 JAR 文件中并在 Maven Central 上部署的各种 JS 库。要在应用程序中使用来自 WebJar 的组件需要执行以下步骤:
-
添加依赖到 web 模块的
compile
方法:compile 'org.webjars.bower:jrcarousel:1.0.0'
-
创建 web-toolkit 模块。
-
创建一个客户端 GWT 部件(widget)类并实现用于创建组件的 JSNI 方法。
-
使用
@WebJarResource
注解创建服务端组件类。这个注解只能用于
ClientConnector
继承者(通常是来自 web-toolkit 模块的 UI 组件类)。@WebJarResource
注解值(或资源定义) 应使用下面的格式之一:-
<webjar_name>:<sub_path>
,例如:@WebJarResource("pivottable:plugins/c3/c3.min.css")
-
<webjar_name>/<resource_version>/<webjar_resource>
,例如:@WebJarResource("jquery-ui/1.12.1/jquery-ui.min.js")
注解值可以包含一个或多个 WebJar 资源字符串定义,多个资源使用字符串数组表示:
@WebJarResource({ "jquery-ui:jquery-ui.min.js", "jquery-fileupload:jquery-fileupload.min.js", "jquery-fileupload:jquery-fileupload.min.js" }) public class CubaFileUpload extends CubaAbstractUploadComponent { ... }
WebJar 版本不是必须的,因为 Maven 版本解析策略将自动使用高版本的 WebJar。
或者,可以在
VAADIN/webjars/
中指定一个目录来提供静态资源。这样,可以通过在此目录中放入新版本的资源来覆盖 WebJar 资源。要设置路径,请使用@WebJarResource
注解的overridePath
属性,例如:@WebJarResource(value = "pivottable:plugins/c3/c3.min.css", overridePath = "pivottable")
-
-
将新组件添加到界面。