2016-09-28 1 views
0

Est-il possible de compresser sass et d'inclure des cartes de référence dans le résultat? Si je supprime .pipe(cssnano()) inclus les sourcemaps:Compresser Sass et inclure les cartes de cours avec avaler?

sass: function(sassFilename, basename) { 
    return gulp.src(paths.sass + sassFilename) 
     .pipe(sourcemaps.init({loadMaps: true})) 
     .pipe(sass().on('error', sass.logError)) 
     .pipe(sourcemaps.write()) 
     .pipe(cssnano()) 
     .pipe(rename({ basename:basename, suffix: '.min' })) 
     .pipe(gulp.dest(paths.buildCss)); 
} 

Répondre

1

Les sourcemaps.init() et sourcemaps.write() appels doivent « book-end » tous les autres .pipe() étapes de votre flux. Tout ce qui ne se produit pas entre sourcemaps.init() et sourcemaps.write() ne sera pas enregistré dans vos cartes de référence (ou pourrait même les supprimer comme cela se produit dans votre cas).

Cela signifie que vous devez déplacer votre sourcemaps.write() appel à la ligne après rename():

sass: function(sassFilename, basename) { 
    return gulp.src(paths.sass + sassFilename) 
    .pipe(sourcemaps.init({loadMaps: true})) 
    .pipe(sass().on('error', sass.logError)) 
    .pipe(cssnano()) 
    .pipe(rename({ basename:basename, suffix: '.min' })) 
    .pipe(sourcemaps.write()) 
    .pipe(gulp.dest(paths.buildCss)); 
} 
+0

fonctionne parfaitement, acclamations. – kalifa17