Vaadin @JavaScript适用于不同的版本

时间:2018-08-13 08:50:49

标签: vaadin vaadin8

我使用Vaadin @JavaScript注释为我的应用程序加载JavaScript文件。它工作得很好,但是我需要为不同的构建加载不同的JavaScript。 这样的想法是:

@JavaScript("url.from.properties.or.pom")

因此,对于DEV,我将获取@JavaScript(“ https://example.com/test/js/embed.js”),对于PROD,将获取@JavaScript(“ https://example.com/production/js/embed.js”)。脚本url值应取自application.properties或pom.xml。

我不知道该怎么做。我将Vaadin 8与Maven和Spring Boot结合使用。预先谢谢你。

1 个答案:

答案 0 :(得分:3)

您想做的事并没有直接支持,但是我可以提出三种您可以考虑的解决方案。

  1. 注册一个DependencyFilter,根据情况从注释中动态重写依赖项URL。
  2. 为每种情况创建单独的Java类(在共享的超类中具有所有实际功能)。然后,您可以使用运行时逻辑或使用例如不同的Spring配置以准确选择要使用的类。
  3. 删除@JavaScript批注,而是从JavaScript.eval调用onAttach以某种方式动态注入所需的脚本。