@faragly

Как пользоваться vinyl-sourcemaps-apply (Gulp)?

Здравствуйте! Есть функция пост обработки css файла и карты исходных кодов (sourcemap), задача - изменить url всех файлов в css и не испортить карту, для этого как я понял, нужен vinyl-sourcemaps-apply и rework + rework-url. Итак, что я делаю:
gulp.src('./source/css/**/*.css')
            .pipe(sourcemaps.init({loadMaps: true}))
            .pipe(concat('main.css'))
            .pipe(autoprefixer({
                browsers: ['last 2 versions'],
                cascade: false
            }))
            .pipe(antiCache(fileHashes))
            .pipe(sourcemaps.write())
            .pipe(gulp.dest('./css/'));
, где fileHashes представляет из себя объект с содержимым вида"path/to/image.png":"a9ecbba8ef". Функция antiCache не должна ничего испортить, только изменить урлы:
function antiCache(fileHashes) {
    return through.obj(function (file, enc, cb) {
        var css = file.contents.toString();
        css = rework(css)
            .use(reworkUrl(function (url) {
                if (fileHashes.hasOwnProperty(path.basename(url))) {
                    return url + '?' + fileHashes[path.basename(url)];
                }
                return url;
            })).toString();
        file.contents = new Buffer(css);
        this.push(file);
    });
}

На странице плагина vinyil-sourcemaps-apply есть пример как применить к измененному файлу карту исходников. На этом шаге ступор. Помогите пожалуйста.
  • Вопрос задан
  • 129 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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