Tengo una tarea de gulp que intenta convertir archivos .scss en archivos .css (usando gulp-ruby-sass) y luego coloco el archivo .css resultante en el mismo lugar donde encontró el archivo original. El problema es que, dado que estoy usando un patrón globbing, no sé necesariamente dónde está almacenado el archivo original.
En el siguiente código, estoy tratando de usar gulp-tap para acceder a la transmisión y averiguar la ruta del archivo actual desde la que se leyó la transmisión:
gulp.task('convertSass', function() {
var fileLocation = "";
gulp.src("sass/**/*.scss")
.pipe(sass())
.pipe(tap(function(file,t){
fileLocation = path.dirname(file.path);
console.log(fileLocation);
}))
.pipe(gulp.dest(fileLocation));
});
Según la salida del console.log(fileLocation)
, este código parece que debería funcionar bien. Sin embargo, los archivos CSS resultantes parecen estar ubicados un directorio más alto de lo que esperaba. Donde debería estar project/sass/partials
, la ruta del archivo resultante es solo project/partials
.
Si hay una forma mucho más sencilla de hacer esto, definitivamente agradecería aún más esa solución. ¡Gracias!
fuente
sass
carpeta?gulp.src("dist/**/*")
...gulp.dest("./")
sass
. ¿Quizás el complemento sass aquí ya está modificando las rutas?Esto es más simple que los números 1311407. No necesita especificar la carpeta de destino en absoluto, simplemente use
.
. Además, asegúrese de configurar el directorio base.fuente
./sass
, pero la pregunta especifica que la salida retiene elsass
directorio, por lo que se repite endest
. Esta respuesta logra el mismo resultado con la opción base, pero ninguno de los enfoques es incorrecto.css
directorio o similar, no desass
asass
. En tales casos, la respuesta aceptada es en realidad más simple que esta alternativa.Respuesta original dada aquí: https://stackoverflow.com/a/29817916/3834540 .
Sé que este hilo es antiguo, pero todavía aparece como el primer resultado en Google, así que pensé que también podría publicar el enlace aquí.
fuente
dest
incorrecto. Seguro que las soluciones dadas funcionan, pero hacerlo bien la primera vez, simplemente reemplazandodest('./')
condest('./images')
, habría logrado el mismo resultado.¡Esto fue muy útil!
fuente