当前位置: 首页 > 面试题库 >

Vaadin 10+静态文件应该放在哪里?

丁业
2023-03-14
问题内容

在Vaadin 10-14中,应该将静态文件(例如CSS,JavaScript和Polymer模板)放在哪里?静态文件(例如图像)如何?

另外,如何在Vaadin中导入这些文件?带有npm的Vaadin 14和带有凉亭的Vaadin 10-13之间有区别吗?


问题答案:

所有路径都相对于项目根目录,例如pom.xml文件在Maven项目中的位置。

使用导入的JavaScript @JsModule使用严格模式。除其他外,这意味着必须在window对象上定义全局变量window.x = ...,而不是just x = ...

Vaadin 14 with npm
Non-Spring Boot projects (war packaging)

  • CSS files
  • @CssImport(“./my-styles/styles.css”)[1]
  • /frontend/my-styles/styles.css

  • JavaScript and Polymer templates

  • @JsModule(“./src/my-script.js”)[1]
  • /frontend/src/my-script.js

  • Static files, e.g. images

  • new Image(“img/flower.jpg”, “A flower”)
  • /src/main/webapp/img/flower.jpg

Spring Boot projects (jar packaging)

  • CSS files
  • @CssImport(“./my-styles/styles.css”)[1]
  • /frontend/my-styles/styles.css

  • JavaScript and Polymer templates

  • @JsModule(“./src/my-script.js”)[1]
  • /frontend/src/my-script.js

  • Static files, e.g. images

  • new Image(“img/flower.jpg”, “A flower”)
  • /src/main/resources/META-INF/resources/img/flower.jpg

Add-ons (jar packaging)

  • CSS files
  • @CssImport(“./my-styles/styles.css”)[1]
  • /src/main/resources/META-INF/resources/frontend/my-styles/styles.css

  • JavaScript and Polymer templates

  • @JsModule(“./src/my-script.js”)[1]
  • /src/main/resources/META-INF/resources/frontend/src/my-script.js

  • Static files, e.g. images

  • new Im`age(“img/flower.jpg”, “A flower”)
  • /src/ma`in/resources/META-INF/resources/img/flower.jpg

Vaadin 10-13,Vaadin 14在兼容模式下
非spring启动项目(战争包装)

  • CSS files
  • @StyleSheet(“css/styles.css”)[2]
  • /src/main/webapp/frontend/css/styles.css

  • Polymer templates, custom-style and dom-module styles

  • @HtmlImport(“src/template.html”)
  • /src/main/webapp/frontend/src/template.html

  • JavaScript

  • @JavaScript(“js/script.js”)[3]
  • /src/main/webapp/frontend/js/script.js

  • Static files, e.g. images

  • new Image(“img/flower.jpg”, “A flower”)
  • /src/main/webapp/img/flower.jpg

Spring Boot projects and add-ons (jar packaging)

  • CSS files
  • @StyleSheet(“css/styles.css”)[2]
  • /src/main/resources/META-INF/resources/frontend/css/styles.css

  • Polymer templates, custom-style and dom-module styles

  • @HtmlImport(“src/template.html”)
  • /src/main/resources/META-INF/resources/frontend/src/template.html

  • JavaScript

  • @JavaScript(“js/script.js”)[3]
  • /src/main/resources/META-INF/resources/frontend/js/script.js

  • Static files, e.g. images

  • new Image(“img/flower.jpg”, “A flower”)
  • /src/main/resources/META-INF/resources/img/flower.jpg

Footnotes

[1]的@JsModule@CssImport注解也可以用于从包NPM导入。在这种情况下,路径定义为@JsModule("@polymer/paper-input")@CssImport("some-package/style.css")。引用本地前端目录的路径应带有前缀./

[2]所述的@StyleSheet注释也可以在Vaadin 14被用于与NPM。可以使用与V10-V13中相同的路径,包括context://protocol @StyleSheet("context://style.css"),它可以解析相对于Web应用程序上下文路径的路径,就像其他静态文件一样。以这种方式包含的样式可能会导致Web组件出现问题。

[3]所述的@JavaScript注释也可以在Vaadin 14被用于与NPM。然后应使用V14 /frontend文件夹。



 类似资料:
  • 在Vaadin 10-14中,我应该将静态文件放在哪里,例如CSS、JavaScript和聚合模板?静态文件(如图像)如何? 此外,如何在Vaadin中导入这些文件?Vaadin 14与npm和Vaadin 10-13与bower之间有差异吗?

  • 问题内容: 我使用netfishs 6.7.1和glassfish v2.1编写了一个Web服务项目,将log4j.properties放入项目的根目录并使用: 在构造函数中: 在功能上: 但是,这是错误信息(实际上,我已经尝试将它几乎可以实现的每个目录都放入): 问题答案: 我知道回答这个问题有点晚了,也许您已经找到了解决方案,但是我将发布我找到的解决方案(在我进行大量Google搜索之后),因

  • 我正在尝试为没有它们的包装提供类型: 我在带有打字稿 2.4.2 的 webpack 中使用 ts-loader,并且在 tsconfig.json 中设置了以下类型根: 我试图模仿: < code>index.d.ts中包含以下内容: 但是错误仍然存在。我做错了什么?我应该把那些自定义的. d.ts文件放在哪里? 和任何其他类型根之间有什么区别?为什么TypeScript会区别对待它们?

  • 在我当前的spring boot项目中,我的视图有以下几行: 引用静态css文件。当我运行项目并访问引用此文件的视图之一时,我会收到404未找到错误或403未经授权的错误,具体取决于我将文件放在项目中的位置。 到目前为止,我一直在尝试: 存储此类文件的正确位置是什么?

  • spring启动时,mvc war文件已部署在独立的tomcat,位于 我可以把它移到? 一般情况下,如果不使用Spring boot,我的配置文件将位于可以移动到 这同样适用于也是吗?那怎么办? 这将有助于在重新部署时自动备份我的配置文件。

  • 问题内容: 在我当前的spring-boot项目中,我的观点如下: 引用静态CSS文件。运行项目并访问引用此文件的视图之一时,会收到404 not found错误或403未经授权的错误,具体取决于我将文件放在项目中的位置。 到目前为止,我尝试了以下方法: 什么类型的文件存储在正确的位置? 问题答案: 在下面的任何地方都是放置静态内容(如CSS,JavaScript和图像)的适当位置。静态目录从提供