Import SASS-避免在片段中重复导入mixin

Import SASS-避免在片段中重复导入mixin,import,sass,mixins,partial,Import,Sass,Mixins,Partial,抱歉,如果已经有人问过这个问题,但是我在任何地方都找不到 我正在努力使我的SASS文件井然有序,因此我使用了大量的片段来分离关注点\u mixins.scss\u页眉.scss,\u页脚.scss,\u侧边栏,等等 然后我有了styles.scss文件,它看起来有点像: @import 'mixins' @import 'header' @import 'footer' @import 'sidebar' 我面临的问题是,如果我的\u mixins.scss部分中有一个mixin,比如说,@f

抱歉,如果已经有人问过这个问题,但是我在任何地方都找不到

我正在努力使我的SASS文件井然有序,因此我使用了大量的片段来分离关注点<代码>\u mixins.scss<代码>\u页眉.scss,
\u页脚.scss
\u侧边栏
,等等

然后我有了
styles.scss
文件,它看起来有点像:

@import 'mixins'
@import 'header'
@import 'footer'
@import 'sidebar'
我面临的问题是,如果我的
\u mixins.scss
部分中有一个mixin,比如说,
@function size(){}
,并且我想在
\u header.scss
中使用它,我无法(libsass抛出一个错误-
错误:没有指定大小的mixin

在我看来,它应该简单地将每个部分导入
style.scss
,当它在调用
@include size()
函数之前获得mixin部分时,它应该知道该做什么。但情况显然不是这样

所以

有没有办法保存一个
@import'mixins'
放在我的每个其他部分的顶部

由于我使用多个库,如果我需要在每个库中维护十几个左右的“内容样式”部分,这可能会很快变得混乱


哦,如果有帮助的话,我会用gulp来建造它。。。相关任务是:

gulp.task('sass', function() {
  var plugins = [
    autoprefixer({
      browsers: ['> 0%']
    })
  ];
  return gulp.src('./sass/**/*.scss')
    .pipe(sourcemaps.init())
      .pipe(sass({
        includePaths: sassPaths,
      }).on('error', sass.logError))
      .pipe(postcss(plugins))
      .pipe(csso())
    .pipe(sourcemaps.write())
    .pipe(gulp.dest('./css'))
    .pipe(browserSync.stream());
});

是的。。。在我的现实世界中,我忽略了“内容样式”文件名之前的
\
,即
\\u header.scss
。。。我觉得自己像个笨蛋

好吧,至少我知道了分部的实际作用

感谢所有回答这个问题的人。:)

这种情况
“错误:没有mixin命名大小”
似乎与作用域问题有关

显然,当您
@包含其源不在实际文件范围内的mixin时,Sass将抛出该错误(或类似
“undefined mixin”

我建议您将mixin写入一个部分文件
\u mixins.scss
,然后只需将其导入顶部的
style.scss

**使用Dart Sass进行测试

希望这有帮助