Неверный путь к исходной карте

Я использую пакеты gulp-less и gulp-sourcemaps. Мой файл less находится под Styles/main.less, но сгенерированная исходная карта указывает на source/main.less (где source/ кажется префиксом). Как это исправить, чтобы исходная карта правильно указывала на source/Styles/main.less?

Моя задача gulp довольно проста:

var gulp        = require('gulp'),
    less        = require('gulp-less'),
    gulpif      = require('gulp-if'),
    sourcemaps  = require('gulp-sourcemaps');

var paths = {
    styles: [
        'Styles/**/*.less',
        '!**/*.min.css'
    ],
    wwwRoot: 'wwwroot/'
}

var isLessFile = function(file) { return /.less$/.test(file.path); }

gulp.task('styles', function() {
    return gulp
        .src(paths.styles)
        .pipe(sourcemaps.init())
            .pipe(gulpif(isLessFile, less()))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest(paths.wwwRoot + 'styles'));
});

person NewGulpUserxx    schedule 23.11.2014    source источник
comment
Отметьте вариант sourceRoot из документов gulp-sourcemaps.   -  person Heikki    schedule 24.11.2014


Ответы (1)


sourcemaps.write('.',{includeContent:false, sourceRoot:'../Styles'})

Должен работать на вас. По умолчанию вы включаете исходный контент в файл исходной карты, и sourceRoot, вероятно, '/source/', что означает использование встроенных исходных файлов. includeContent:false предотвратит встраивание исходников в файл исходной карты, вам также необходимо установить для свойства sourceRoot относительный путь от того места, где вы сохраняете свою исходную карту, до того места, где находятся ваши исходные файлы. В моем примере он будет искать одну папку для папки Styles, это будет префикс ко всем путям в вашем массиве sourcemaps sources.

person Brennan    schedule 06.02.2015