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
)即可。这就解决了问题。谢谢