Project structure:
development
public
pug
1sass
2css
admin
pug
3sass
4css
I add digits to folder names to imitate the situations when gulp can not guess somehow which output folder is respects to input ones.
Now, I want to compile .sass
files in public/1sass
and admin/3sass
to .css
and put it in public/2css
and admin/4css
respectively:
public/1sass → public/2css
admin/3sass → admin/4css
How I need to setup the sass
task in gulpfile
? Even if we put the paths array to gulp.src
, how gulp will understand which output path respects to input ones?
Maybe gulp.parallel()
becomes available in gulp 4.x will do?
Update
Two things that I did not understand yet:
- How I should to setup the multiple output paths in
gulp.dest()
? I learned that
file.dirname = path.dirname(file.dirname);
removes the last parent directory of the relative file path.But how I should to setup it for each of1sass
ans3sass
? Via array?const gulp = require('gulp'), sass = require('gulp-sass'), path = require('path'), rename = require('gulp-rename'); gulp.task('sass', function(){ return gulp.src([ `development/public/1sass/*.sass`, `development/public/3sass/*.sass`]) .pipe(sass()) // As I can suppose, here we must to setup output paths for each input one .pipe(rename(function(file){ file.dirname = path.dirname(file.dirname); })) .pipe(/* ??? */); });