1

我对此很陌生,我的任务是将我们用于网站的 Roots Sage 主题更新到最新版本。现在,转换过程本身并不难,但是,将标头导入新主题文件夹并进行编译时,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
);

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

.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调用,而 ERROR 表示第 33 行中的未定义变量,第 14 列 带有dash$general_grey$general-grey

可能是因为我没有经验,但我真的无法通过这个。什么可能导致此错误?

提前感谢您的提示!:)

4

2 回答 2

1

$theme-colors是一个高级变量函数。因此,要访问general_grey变量,您必须使用以下内容:

color: map.get($theme-colors, "general_grey");
于 2020-03-31T11:15:39.907 回答
0
  1. 请参阅该错误在变量名称中显示连字符而不是下划线。

$general-grey$general_grey 不同

  1. 你不能像那样从主题图中挑选颜色。

  2. 检查 mixin 在 SCSS 中是如何工作的,并定义一个来选择你想要的颜色。

于 2020-03-31T11:15:05.390 回答