导入Materialize源代码时的Sass CompileError:Sass map“不是有效的CSS值”

时间:2018-04-24 18:48:29

标签: css sass

我正在尝试编写一个包含导入

的SCSS文件dashboard.scss
@import "../../../lucy_web/static/stylesheets/mixins";

其中_mixins.scss包含Materialise v1.0.0beta源代码的导入:

@import "vendor/materialize_v1";

但是,当我添加此导入时,我得到一个CompileErrorSass map $base“不是有效的CSS值”:

CompileError at /dashboard/experts
Error: ("base": #009688, "lighten-5": #e0f2f1, "lighten-4": #b2dfdb, "lighten-3": #80cbc4, "lighten-2": #4db6ac, "lighten-1": #26a69a, "darken-1": #00897b, "darken-2": #00796b, "darken-3": #00695c, "darken-4": #004d40, "accent-1": #a7ffeb, "accent-2": #64ffda, "accent-3": #1de9b6, "accent-4": #00bfa5) isn't a valid CSS value.
        on line 152 of lucy_web/static/stylesheets/vendor/components/_color-variables.scss
>> $teal: (
   -------^

我正在使用Sass的'Bleeding Edge'版本,所以我希望这会有效:

(venv) Kurts-MacBook-Pro-2:stylesheets kurtpeek$ sass --version
Sass 3.5.5 (Bleeding Edge

知道为什么SCSS没有编译?

1 个答案:

答案 0 :(得分:1)

我认为这是由于名字冲突造成的。如https://github.com/mkhairi/materialize-sass/issues/81中所述。 SCSS实际上还包含一些“遗产”。导入旧版Materialise的各个组件的代码:

@import "../../../lucy_web/static/stylesheets/partials/colors";
@import "../../../lucy_web/static/stylesheets/partials/mixins";
@import "../../../lucy_web/static/stylesheets/partials/variables";

'颜色' SCSS文件还定义了$base,并且显然重新定义了导致CompileError的导致。我通过将此特定mixin移动到当前目录中的单独_mixins.scss而不导入Materialize源代码,并像这样简化导入来解决此问题:

@import "mixins";