SCSS Undefined variable: "$general-grey" 但是这个变量实际定义了并且不同

SCSS Undefined variable: "$general-grey" but the variable is actually defined and different

我对此很陌生,我的任务是将我们网站使用的 Roots Sage 主题更新到最新版本。现在,转换过程本身并不难,但是,当将 header 导入新主题文件夹并使用 yarn run build 编译时,我收到此错误:

 ERROR  Failed to compile with 2 errors                                                                                                                                                                                                            12:29:21

error  in ./resources/assets/styles/main.scss

Module build failed: ModuleBuildError: Module build failed:
      color: $general_grey;
            ^
      Undefined variable: "$general-grey".
      in /home/html/devel/website-folder/wp-content/themes/website-theme/resources/assets/styles/layouts/_header.scss (line 33, column 14)

如您所见,第 33 行第 14 列有一个未定义的变量,名为 $general-grey。但是,这是不正确的,因为该变量是在 _variables.scss 文件中定义的,并通过 @import "common/variables"; 导入到 main.scss 文件中。

这些是在 _variables.scss 中定义颜色变量的行:

$theme-colors: (
  primary: #525ddc,
  brand_primary: #00add3,
  brand_darken: #0083a0,
  general_grey: #3d3d3d,
  overlay_text: #fff,
  std_black: #000,
  breadcrumb: #bababa,
  arancione: #f7941d,
  arancione_hover: #ab6614,
  verde: #90dd00,
  azzurro: #50c9e2,
  color-donne: #da6b93,
  grey_strong: #abbdc9
);

这是我尝试使用 general_grey 变量的 _header.scss 文件:

.green_number {
      font-family: $font-family-sans-serif;
      font-size: 12px;
      font-weight: 600;
      text-transform: uppercase;
      color: $general_grey;
      margin: 0;

      a {
        color: $general_grey;
      }

      .fa-phone,
      .green {
        color: $verde;
      }
    }

_variables.scss_header.scss 中它被称为 $general_grey 带有 下划线 ,而 ERROR 在第 33 行表示未定义的变量,第 14 列是 $general-grey,带有 破折号

可能是因为我经验不足,但我真的无法解决这个问题。 什么可能导致此错误?

提前感谢您的提示! :)

  1. 看到错误在变量名中显示连字符而不是下划线。

$general-grey$general_grey;

不同
  1. 不能直接从主题图中选择颜色。

  2. 检查 mixins 在 SCSS 中的工作方式并定义一个以选择您想要的颜色。

$theme-colors 是一个 Advanced Variable Functions。因此,要访问 general_grey 变量,您必须使用以下内容:

color: map.get($theme-colors, "general_grey");