当前位置: 首页 > 知识库问答 >
问题:

我应该把我的Vaadin 10静态文件放在哪里?

龙德海
2023-03-14

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

此外,如何在Vaadin中导入这些文件?Vaadin 14与npm和Vaadin 10-13与bower之间有差异吗?

共有3个答案

高英彦
2023-03-14

我们共享了几个Vaadin 14模块的资源,如下所示:

>

  • 常见目录表单项目根目录/资源/静态

    通过prod的nginx和本地开发的Spring路由请求

    public class MvcConfig implements WebMvcConfigurer {
    
       @Override
       public void addResourceHandlers(ResourceHandlerRegistry registry) {
          registry.addResourceHandler("/static/**")
         .addResourceLocations("file:./resources/static/")
         .setCachePeriod(3600);
         registry.setOrder(Integer.MAX_VALUE);
    

    }

    对于css,全部删除

    @CssImport("./styles/root/global-styles.css")
    

    并放入主视图(@Route视图),请参阅https://vaadin.com/docs/v14/flow/styling/importing-style-sheets:

       @StyleSheet("/static/css/global-styles.css")
    

    >

  • 对于图像,将其放入css

    .plus-btn {
       background: url("../static/icons/plus.svg") no-repeat center;
    }
    

  • 方轩昂
    2023-03-14

    @塔扎沃奥的答案已添加到瓦丁官方文件中:

    瓦丁资源备忘单

    我只是想把它放在这里,因为我希望这将在未来保持更新。请原谅我没有在这里张贴表格,否则这个答案会被忽略。

    经和洽
    2023-03-14

    所有路径都与项目根相关,例如,其中pom。xml文件位于Maven项目中。

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

    • CSS文件
    • JsModule(“/src/my script.js”)[1]
    • 新图像("img/flower.jpg","一朵花")
    • /src/main/webapp/img/flower.jpg
    • CSS文件
    • JsModule(“/src/my script.js”)[1]
    • 新图片(“img/flower.jpg”,“一朵花”)
    • CSS文件
      • @css导入("./my-样式/styles.css")[1]
      • /src/main/资源/META-INF/资源/前端/我的样式/styles.css
      • JsModule(“/src/my script.js”)[1]
      • 新图片(“img/flower.jpg”,“一朵花”)
      • CSS文件
        • @StyleSheet("css/styles.css")[2]
        • /src/main/webapp/前端/css/styles.css
        • @Html导入("src/template.html")
        • /src/main/webapp/前端/src/template.html
        • @JavaScript("js/script.js")[3]
        • /src/main/webapp/前端/js/script.js
        • 新图像("img/flower.jpg","一朵花")
        • /src/main/webapp/img/flower.jpg
        • CSS文件
          • 样式表(“css/styles.css”)[2]
          • /src/main/resources/META-INF/resources/frontend/css/styles.css
          • @Html导入("src/template.html")
          • /src/main/资源/META-INF/资源/前端/src/template.html
          • @JavaScript("js/script.js")[3]
          • /src/main/资源/META-INF/资源/前端/js/script.js
          • 新图片(“img/flower.jpg”,“一朵花”)

          也可以使用JsModule和CssImport注释从npm包导入。在这种情况下,路径定义为JsModule(“@polymer/paper input”)或CssImport(“some package/style.css”)。引用本地前端目录的路径应以前缀/

          [2]样式表注释也可以在带有npm的Vaadin 14中使用。可以使用与V10-V13中相同的路径,包括上下文:///code>协议样式表(“context://style.css“”,它与其他静态文件一样,解析相对于web应用程序的上下文路径的路径。以这种方式包含的样式可能会导致web组件出现问题。

          Vaadin 14和npm中也可以使用JavaScript注释。然后应使用V14/frontend文件夹,。

     类似资料:
    • 问题内容: 在Vaadin 10-14中,应该将静态文件(例如CSS,JavaScript和Polymer模板)放在哪里?静态文件(例如图像)如何? 另外,如何在Vaadin中导入这些文件?带有npm的Vaadin 14和带有凉亭的Vaadin 10-13之间有区别吗? 问题答案: 所有路径都相对于项目根目录,例如文件在Maven项目中的位置。 使用导入的JavaScript 使用严格模式。除其他

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

    • 我是java新手,在尝试创建一个小蛇类型的游戏后,出现了错误 错误:在类game.gamePanel中找不到Main方法,请将Main方法定义为:public static void Main(string[]args)“

    • 我搜索了很多,几乎所有我发现的例子都使用了控制器中的异常处理和自己的异常处理程序。我一直认为这应该在程序的服务层上完成。如果不是,我真的不明白为什么要创建单独的服务层。 另外,如果我在Controller中实现异常处理,是否意味着我必须在前面的所有层中抛出异常?

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

    • 以下是在不使用聚合物的情况下运行良好的测试代码: 但我希望在聚合物元素中使用Javascript,并尝试了以下插入: NR 1:脚本标记内的Javascript,模板标记后的Javascript: 我想这意味着,编译器看不到按钮id,因为它在阴影中? 请指示我。