Vaadin 14.6.1 - 错误:无法解析“lumo-css-framework/all-classes.css”

mac*_*xde 7 css migration spring gradle vaadin-flow

我正在将 Vaadin Springboot/Gradle 应用程序从 Vaadin 14.5.1 迁移到 14.6.1。我从start.vaadin.com的新生成的应用程序的 themes 文件夹中复制了新文件,特别是 frontend/themes/my-app/styles.css

@import url('lumo-css-framework/all-classes.css');
Run Code Online (Sandbox Code Playgroud)

运行vaadinBuildFrontend任务时,我收到以下错误(在其他消息中):

ERROR in ./themes/my-app/styles.css
Module build failed (from ../node_modules/css-loader/dist/cjs.js):
Error: Can't resolve 'lumo-css-framework/all-classes.css' in '/Users/<..>/my-app/frontend/themes/my-app
Run Code Online (Sandbox Code Playgroud)

所有构建依赖项似乎与示例 maven 项目中的相同。在构建前端之前,所有生成的文件都已被删除。

比较所生成的文件后,我发现样品Maven项目包含"lumo-css-framework": "^3.0.11"在生成的package.json,而gradle这个项目不包含这一点。

环境:

  • 春天 2.5.0
  • 摇篮 7.0.1
  • Vaadin Gradle 插件 0.14.6.0
  • macOS 11.2.3 和 Centos 7

我在设置中缺少什么?

小智 10

您的项目缺少lumo-css-frameworknpm 依赖项。您可以通过两种方式添加它:

  1. npm install --save lumo-css-framework. 这将存储依赖项,package.json其中包含项目所需的所有 npm 依赖项的列表。说它package.json是自动生成的,就像 Vaadin 真正做的那样,它填充package.json了 Java 端(主要是组件)定义为它们的 npm 依赖项的任何内容,这在学术上是错误的。中定义的任何其他依赖项package.json都单独保留。

  2. @NpmDependency(value="lumo-css-framework", version="^3.0.11").注释项目中的任何 Java 类。Vaadin 将在确定项目需要哪些 npm 依赖项时使用此批注,然后package.json将根据批注进行更新。

  • @macnixde - `lumo-css-framework` 不是使用 Vaadin 的必要条件。它们是一组主要供 Fusion 用户使用的实用 CSS 类。使用 start.vaadin.com 生成的项目包括一些额外的帮助程序和自定义,它们不属于框架的一部分,这会导致一些额外的迁移步骤,如下所示。 (2认同)