Sass scss捆绑包错误:@使用规则必须在任何其他规则之前写入
我的文件结构如下:Sass scss捆绑包错误:@使用规则必须在任何其他规则之前写入,sass,Sass,我的文件结构如下: ---- _base-map.scss ---- _child-map-1.scss ---- _child-map-2.scss ---- _child-map-3.scss styles.scss styles.scss导入所有子贴图文件: @import './base-map'; @import './child-map-1'; @import './child-map-2'; @import './child-map-3'; 到目前为止还不错 _base-map
---- _base-map.scss
---- _child-map-1.scss
---- _child-map-2.scss
---- _child-map-3.scss
styles.scss
styles.scss导入所有子贴图文件:
@import './base-map';
@import './child-map-1';
@import './child-map-2';
@import './child-map-3';
到目前为止还不错
_base-map.scss:
$base-map : (
"font-size" : 1.3rem,
"border-radius" : 0.4rem,
// ...
);
为了使用“map.merge”,必须包括@use“sass:map”:
_child-map-1.scss:
@use "sass:map";
$child-map-1 : map.merge(
$base-map,
(
"font-size" : 2rem,
"border-radius" : 0.5rem,
// ...
)
);
但是,当我尝试使用scss捆绑包捆绑文件时,会出现以下错误:
[17:22:37] erro: There is an error in your styles:
[17:22:37] erro: @use rules must be written before any other rules.
[17:22:37] erro: ╷
[17:22:37] erro: 838 │ @use "sass:map";
[17:22:37] erro: │ ^^^^^^^^^^^^^^^
[17:22:37] erro: ╵
[17:22:37] erro: stdin 838:1 root stylesheet on line (838, 1)
当我没有包含@use“sass:map”时,scss编译器会抱怨map.merge
解决这个问题的正确方法是什么?我不得不将“map.merge”更改为“map merge”以使其正常工作
多亏了@Arkellys
HTH某人。由于您使用的是
@import
,只需使用map-merge()
(不需要@use
)即可。这就解决了问题。谢谢