无法导入SASS映射

无法导入SASS映射,sass,compass-sass,gulp-sass,Sass,Compass Sass,Gulp Sass,我已经创建了一个包含颜色映射的SCSS部分,我正在尝试将其导入其他SCSS模块。然而,导入似乎不起作用。我不确定这是否是gulp的问题,gulp在编译时不会引发错误,或者SASS根本不允许导入SASS映射。有人能帮忙吗?下面是一个例子: 为要从部分_color-settings.scss导入的地图中的每种颜色创建一类按钮颜色 @import "../../scss/color-settings"; @each $key, $color in $colors { .btn-raised.btn-

我已经创建了一个包含颜色映射的SCSS部分,我正在尝试将其导入其他SCSS模块。然而,导入似乎不起作用。我不确定这是否是gulp的问题,gulp在编译时不会引发错误,或者SASS根本不允许导入SASS映射。有人能帮忙吗?下面是一个例子:

为要从部分_color-settings.scss导入的地图中的每种颜色创建一类按钮颜色

@import "../../scss/color-settings";

@each $key, $color in $colors {
.btn-raised.btn-#{$key},
.btn-fab.btn-#{$key},
%btn-raised%btn-#{$key},
%btn-fab%btn-#{$key} {
    @if $key == 'white' {
        color: $black;
    } @else {
        color: $white;
    }

    background-color: $color;
}
$colors : (
    'red'         : $red,
    'pink'        : $pink,
    'purple'      : $purple,
    'deep-purple' : $deep-purple,
    'indigo'      : $indigo,
    'blue'        : $blue,
    'light-blue'  : $light-blue,
    'teal'        : $teal,
    'green'       : $green,
    'light-green' : $light-green,
    'lime'        : $lime,
    'yellow'      : $yellow,
    'amber'       : $amber,
    'orange'      : $orange,
    'deep-orange' : $deep-orange,
    'brown'       : $brown,
    'grey'        : $grey,
    'blue-grey'   : $blue-grey,
    'black'       : $black,
    'white'       : $white
);
}

_color-settings.scss

@import "../../scss/color-settings";

@each $key, $color in $colors {
.btn-raised.btn-#{$key},
.btn-fab.btn-#{$key},
%btn-raised%btn-#{$key},
%btn-fab%btn-#{$key} {
    @if $key == 'white' {
        color: $black;
    } @else {
        color: $white;
    }

    background-color: $color;
}
$colors : (
    'red'         : $red,
    'pink'        : $pink,
    'purple'      : $purple,
    'deep-purple' : $deep-purple,
    'indigo'      : $indigo,
    'blue'        : $blue,
    'light-blue'  : $light-blue,
    'teal'        : $teal,
    'green'       : $green,
    'light-green' : $light-green,
    'lime'        : $lime,
    'yellow'      : $yellow,
    'amber'       : $amber,
    'orange'      : $orange,
    'deep-orange' : $deep-orange,
    'brown'       : $brown,
    'grey'        : $grey,
    'blue-grey'   : $blue-grey,
    'black'       : $black,
    'white'       : $white
);

除非将映射直接放入文件而不是导入文件时代码仍然无法编译,否则问题不在于Sass。当我将映射放入同一文件时,mixin运行良好。只有当我导入它时,mixin才能找到$colors。如果您的问题不是Sass,那么如果找不到变量,它就会出错。@cimmanon Sass代码是有效的。