tutorial español con compilar arrays node.js globbing gulp

arrays - español - npm gulp



¿Por qué a gulp.src no le gusta que se le pase una serie de rutas completas a los archivos? (1)

Estoy tratando de pasar gulp.src una matriz de archivos que quiero que trate. Esta es la matriz tal como está.

[''bower_components/jquery/jquery.js'', ''bower_components/superscrollorama/js/greensock/TweenMax.min.js'', ''bower_components/superscrollorama/jquery.superscrollorama.js'' ]

Aunque estoy comprobando que a gulp.src no parece gustarle eso y que el tercer elemento no llega al destino final.

Descubrí que todo funciona bien cuando presento algunos caracteres comodín como este:

[''bower_components/**/jquery.js'', ''bower_components/**/js/greensock/TweenMax.min.js'', ''bower_components/**/jquery.superscrollorama.js'' ]

¿Pero por qué? ¿Algo que ver con la forma en que funciona el globbing? Busqué en Google pero no puedo averiguarlo.

Tal vez este no es el propósito de globbing, pero no tiene sentido para mí que funcione de esta manera. ¿Alguien puede arrojar algo de luz?


Cuando transfiere una matriz de rutas completas, cada archivo se procesa de manera independiente. El globbing no sabe dónde está la raíz del camino (de hecho, adivina en base al primer globo). Por lo tanto, cada archivo está rooteado en la carpeta que contiene y la ruta relativa está vacía.

Sin embargo, hay una solución fácil. Pase un objeto con la base la clave como segundo argumento a gulp.src , y todo tendrá la ruta relativa correcta:

return gulp.src([''bower_components/jquery/jquery.js'', ''bower_components/superscrollorama/js/greensock/TweenMax.min.js'', ''bower_components/superscrollorama/jquery.superscrollorama.js'' ], {base: ''bower_components/''}) .pipe(...);