tutorial - Gulp.js: utiliza la ruta de gulp.src() en gulp.dest()
npm gulp (2)
Deberías echarle un vistazo a gulp-rename
Bastante:
gulp.src(''./*/less/*.less'')
.pipe(less())
.pipe(rename(function(path){
// Do something / modify the path here
}))
.pipe(gulp.dest(''./finalRootDestination''))
Deje gulp.dest apuntando a su dir de salida final, pero modifique sobre la marcha las rutas de archivos individuales en función de la lógica que desee dentro de la devolución de llamada a gulp-rename.
Intentando crear una tarea de trago que canalice un grupo de archivos de diferentes carpetas a través de LESS y luego los envíe a una carpeta basada en la fuente original. Considera esta estructura de carpetas:
Project
+-- /Module_A
| +- /less
| | +- a.less
| +- a.css
|
+-- /Module_B
+- /less
| +- b.less
+- b.css
Aquí está mi gulpfile:
var gulp = require(''gulp'');
var gutil = require(''gulp-util'');
var less = require(''gulp-less'');
gulp.task(''compileLess'', function () {
gulp.src(''./*/less/*.less'')
.pipe(less())
.pipe(gulp.dest( ??? ));
});
gulp.task(''default'', [''compileLess'']);
Sé que gulp.dest () espera que se pase una ruta, pero en mi ejemplo la ruta será diferente en función del archivo fuente. Entonces, ¿cómo puedo tomar el camino de la fuente, modificarlo y luego pasarlo a gulp.dest ()?
¿O estoy yendo sobre esto de la manera incorrecta?
en su src
configure la opción base
y mantendrá la ruta original de su menor archivo.
gulp.task(''compileLess'', function () {
gulp.src(''./*/less/*.less'', {base: ''./''})
.pipe(less())
.pipe(gulp.dest( ''./dist'' ));
});
El destino ./dist
puede ser cualquier cosa. Donde quiera que quiera colocar su estructura de archivos.
Información adicional aquí: https://github.com/wearefractal/glob-stream#options