Задать вопрос
Anarendil
@Anarendil

Как передать sourcemap из одного файла в другой?

Доброго времени суток.
При обновлении своего gulpfile столкнулся с такой задачей:

1 таск собирает все scss файлы из папки в один, плагин `gulp-concat`
const concatBlocks = () =>
    src(`${paths.blocks}**/*.scss`)
        .pipe(sourcemaps.init())
        .pipe(concat('_blocks.scss'))
        .pipe(sourcemaps.write())
        .pipe(dest(`${paths.scss.src}helpers/`));


2 таск с помощью `gulp-sass` собирает css, импортируя в него подготовленный в первом таске файл средствами SCSS, генерируя при этом sourcemap с помощью gulp-sourcemaps

const buildCss = () =>
    src(['*.scss', '!_*.scss', 'helpers/*.scss', '!helpers/_*.scss'], {cwd: paths.scss.src})
        .pipe(sourcemaps.init({loadMaps: true}))
        .pipe(scss().on('error', scss.logError))
        .pipe(sourcemaps.write('./maps'))
        .pipe(dest(`${paths.scss.built}`));


Естественно, при такой сборке в sourcemap все стили из `_blocks.scss`, собираемого в первом таске, принадлежат ему, а не первоначальным файлам. Хотелось бы видеть в sourcemap информацию именно об исходных файлах. В документации `gulp-sourcemaps` есть опция `loadMaps: true`, которая, как я понял, должна мне помочь: нужно сгенерировать карту в первом таске, а во втором подгрузить её, но это не сработало.

Возможно кто-то сталкивался с похожей проблемой?
  • Вопрос задан
  • 40 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы