3

パッケージgulp-lessgulp-sourcemaps. 私の less ファイルは の下にありますが、生成されたソースマップは(プレフィックスのように見える場所) をStyles/main.less指しています。ソースマップが正しく指すように、これを修正するにはどうすればよいですか?source/main.lesssource/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'));
});
4

1 に答える 1

4

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

あなたのために働くはずです。デフォルトでは、ソース マップ ファイルにソース コンテンツが含まれており、sourceRootおそらく'/source/'であり、これは埋め込みソース ファイルを使用することを意味します。includeContent:falseソースマップファイルにソースを埋め込むことを防ぎます。また、sourceRootプロパティを、ソースマップを保存した場所からソースファイルがある場所までの相対パスに設定する必要があります。私の例では、Styles フォルダーの 1 つのフォルダーを検索します。これは、sourcemapssources配列内のすべてのパスの前に付けられます。

于 2015-02-06T12:03:58.833 に答える