Meaningless Notebook

我輩は雑記帖である。名はまだない。


このブログで使ってる WordPress のテ-マを弄ろうと思って Gulp をアップグレ-ドしようとしたらハマった

gulp.src(srcPath)
    .pipe(plumber())
    .pipe(sass.sync({ includePaths: includePaths }))
    .pipe(autoprefixer())
    .pipe(rename({ extname: '.min.css' }))
    .pipe(cleanCss())
    .pipe(gulp.dest(destPath))

これを

gulp.src(srcPath)
    .pipe(plumber())
    .pipe(sass.sync({ loadPaths: includePaths }))
    .pipe(autoprefixer())
    .pipe(rename({ extname: '.min.css' }))
    .pipe(cleanCss())
    .pipe(gulp.dest(destPath))

にする。

具体的には includePaths を loadPaths へ変更する。

この includePaths が機能してないのを調べるのにすごい苦労した。

includePaths が機能していないのは v6 以前からも動作してない不具合 ? というか使い方がわからない ? みたいでググっても loadPaths に切り替えなきゃいけないっていうのに中々行き当たらなかった…公式サイトも includePaths の例が見当たらないし…

後、map-get を使ってるソ-スに

@use 'sass:map';

$breakpoints: (
  'sm': 'screen and (max-width: 1023px)',
  'md': 'screen and (max-width: 1023px)',
  'lg': '(min-width: 1024px)',
  'xl': '(min-width: 1024px)',
) !default;

@mixin responsive($key: md, $breakpoints: $breakpoints) {
  @media #{map.get($breakpoints, $key)} {
    @content;
  }
}

@use ‘sass:map’; の追加と、map-get から map.get へ切り替える。

これに休日 1 日使うって馬鹿みたいだよな…

参考元