sass - scss 捆绑错误 : @use rules must be written before any other rules

标签 sass

我有这样的文件结构:

---- _base-map.scss
---- _child-map-1.scss
---- _child-map-2.scss
---- _child-map-3.scss
styles.scss

style.scss 导入所有子 map 文件:
@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-bundle 捆绑在一起时,出现此错误:
[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某人。

关于sass - scss 捆绑错误 : @use rules must be written before any other rules,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60833313/

相关文章:

css - 创建带边框和不带边框的 Mixin

javascript - SASS 抛出错误 Undefined Mixins : Module build failed (from ./node_modules/sass-loader/dist/cjs.js): SassError: Undefined mixin

css - 在 SASS 中使用字符串作为变量

sass - 如何在 Sass 中使用 @use 规则扩展占位符选择器

javascript - 在 Webpack 2 中使用 TypeScript 加载 SASS 模块

variables - Sass 检查变量是否传递给 mixin

css - 使用 Bootstrap 4 的响应式文本

css - Compass CSS 中是否有类似 "spin"或 "darken" "ligher"的函数,就像 LESS 一样

javascript - 如何使用Alpha输入计算两种颜色的柔光混合值?

ruby-on-rails - 无法使 compass +守卫+萨斯工作