Comment traiter les fichiers CSS vers des fichiers sourcemap acheminés individuellement, en conservant le nom de fichier + .map
ajouté?Création de sources de données CSS pour plusieurs fichiers scss maîtres
En supposant que nous avons les éléments suivants:
/assets/stylesheets/scss/
site.scss
other.scss
home.scss
/assets/stylesheets/compiled/
site.css
other.css
home.css
Ce que je suis à la recherche est la suivante:
/assets/stylesheets/scss/
site.scss
other.scss
home.scss
/assets/stylesheets/compiled/
site.css
site.css.map
other.css
other.css.map
home.css
home.css.map
Je veux produire les sourcemaps CSS pour ceux qui utilisent Gulp. Le seul problème est, je ne suis pas sûr de savoir comment créer un sourcemap par fichier CSS. Voilà ce que j'ai, mais il ne produit que le seul fichier site.css
:
var gulp = require('gulp'),
gulpif = require('gulp-if'),
concat = require('gulp-concat'),
sass = require('gulp-sass'),
minify = require('gulp-minifier'),
autoprefixer = require('gulp-autoprefixer'),
sourcemaps = require('gulp-sourcemaps');
...
gulp.task('sass', function(){
return gulp
.src(config.publicDir + '/stylesheets/scss/*.scss')
//.pipe(sourcemaps.init())
.pipe(sass().on('error', sass.logError))
.pipe(sass({
includePaths: [config.bootstrapDir + '/assets/stylesheets'],
}))
.pipe(gulpif(overrides.disable_minify, minify({
minify: true,
collapseWhitespace: true,
minifyJS: false,
minifyCSS: true,
getKeptComment: function(content, filePath){
var m = content.match(/\/\*![\s\S]*?\*\//img);
return m && m.join('\n') + '\n' || '';
},
})))
.pipe(gulp.dest(config.publicDir + '/stylesheets/compiled'))
;
});
tasks.push('sass');
...
gulp.task('sourcemaps', function() {
return gulp
.src(config.publicDir + '/stylesheets/compiled/*.css')
.pipe(sass().on('error', sass.logError))
.pipe(sourcemaps.init())
.pipe(autoprefixer())
.pipe(concat('site.css'))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(config.publicDir + '/stylesheets/compiled'))
});
tasks.push('sourcemaps');