Источники не верны в исходной карте с Gulp

Я пытаюсь создать действительную карту источника с Gulp и gulp-sourcemaps. Исходная карта фактически создана, но внутри параметр "sources" не загружает соответствующие пути моих файлов SASS. Вот что я получаю:

"version":3,"file":"style.css","sources":["style.css"]

Когда мне нужно загрузить что-то вроде этого (созданного приложением Koala):

"version":3,"file":"style.css","sources": ["../sass/style.scss","../sass/typography/_fonts.scss","../sass/helpers/_variables.scss"........

Это мое задание Gulp

 gulp.task('sass', function () {
  return gulp.src('style/sass/**/*.scss')
  .pipe(sass(
    {
      'outputStyle': 'expanded'
    }
  ))
  .pipe(sourcemaps.init())
  .pipe(sass().on('error', sass.logError))
  .pipe(sourcemaps.write('.')
  .pipe(gulp.dest('./style/css'))
  .pipe(bs.reload({stream: true}));
});

Спасибо за время.

1 ответ

Решение

Sourcemaps.init() должен идти перед sass-каналом, поэтому:

gulp.task('sass', function () {
  return gulp.src('style/sass/**/*.scss')
   .pipe(sourcemaps.init())
   .pipe(sass( {
      'outputStyle': 'expanded'
     }).on('error', sass.logError))
   .pipe(sourcemaps.write())
   .pipe(gulp.dest('./style/css'))
   .pipe(bs.reload({stream: true}));
});

Смотрите gulp-sass с исходными картами.

По какой-то причине у вас есть два вызова sass, избавьтесь от первого и вставьте его параметры во второй вызов sass pipe.

Другие вопросы по тегам