2017-05-08 18 views
10

Ngoài khả năng source maps trong Chrome, trong gulpfile.js của tôi, tôi sử dụng errLogToConsole: true, sourceComments: 'map', sourceMap: 'sass' như các đối số khi gọi sass dựa trên this answer:bản đồ nguồn Gulp tạo không có tác dụng trong Chrome

gulp.task('sass', function() { 
    return gulp.src('../assets/styles/**/*.scss') 
    .pipe(plumber({ errorHandler: onError })) 
    .pipe(sass({errLogToConsole: true, sourceComments: 'map', sourceMap: 'sass'})) 
    .pipe(autoprefixer()) 
    .pipe(gulp.dest('../dist/styles')) 
    .pipe(browserSync.reload({ 
    stream: true 
    })) 
}); 

Tuy SCSS nội dung vẫn doesn không hiển thị trong DevTools. Tại sao?

Lưu ý: bình luận bản đồ nguồn nào hiển thị trong CSS biên soạn như thể hiện trong hình dưới đây

enter image description here

+0

bạn có thêm 'gulp.task ('mặc định', ['script', 'sass']);' vào các tác vụ mặc định của Gulp không? –

Trả lời

2

Tôi không thực sự chắc chắn phiên bản của gulp-sass bạn đang sử dụng đã được cho phép bạn vượt qua những sourceMaps tùy chọn, nhưng sử dụng phiên bản mới nhất, họ đòn bẩy gulp-sourcemaps thay vào đó, cho phép bạn làm điều gì đó như thế này:

const sourcemaps = require('gulp-sourcemaps') 

gulp.task('sass', function() { 
    return gulp.src('../assets/styles/**/*.scss') 
    .pipe(plumber({ errorHandler: onError })) 
    .pipe(sourcemaps.init()) 
    .pipe(sass().on('error', sass.logError)) 
    .pipe(sourcemaps.write()) 
    .pipe(autoprefixer()) 
    .pipe(gulp.dest('../dist/styles')) 
    .pipe(browserSync.reload({ 
     stream: true 
    })) 
}) 

Theo mặc định nó sẽ inline sourcemaps của bạn vào outp ut tệp, nhưng bạn có thể chỉ định một tệp trong hàm sourcemaps.write, để thay đổi hành vi này.

+0

Xin lỗi vì đã chấp nhận câu trả lời của bạn quá muộn! – drake035

+0

@ drake035 Tốt hơn muộn hơn bao giờ hết, cảm ơn;) –

Các vấn đề liên quan