Foros del Web » Programando para Internet » Node.js »

[SOLUCIONADO] gulp.js y estructura de archivos

Estas en el tema de gulp.js y estructura de archivos en el foro de Node.js en Foros del Web. Buenos días. Estoy empezando con Gulp.js bajo Node.js para automatizar la minificación y unión de los scripts de la web de mi trabajo y tengo ...
  #1 (permalink)  
Antiguo 19/06/2015, 02:10
 
Fecha de Ingreso: marzo-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta gulp.js y estructura de archivos

Buenos días.

Estoy empezando con Gulp.js bajo Node.js para automatizar la minificación y unión de los scripts de la web de mi trabajo y tengo un problema.

Trabajo con una web que almacena los archivos de javascript en una carpeta llamada 'js' del servidor. Dichos archivos deben mantenerse aquí (y no se pueden cambiar) debido a que otras aplicaciones de la empresa tiran de ellos. Pero la web puede tener otras carpetas y usar estas últimas.

Por eso, mi propósito es crear subcarpetas en las que vaya armando los scripts unidos y minificados y usar estos en la web de producción.

El problema lo tengo cuando quiero generar diferentes versiones, no se por qué me está creando archivos finales IGUALES.

Por ejemplo, tenemos en la carpeta 'js':
scripts1.js
scripts2.js
scripts3.js
scripts4.js
scripts5.js
scripts6.js


Y combinando estos scripts quiero crear una carpeta para la home de la web que cargue una combinación de estos si el usuario está logeado y otra si el usuario no lo está.

Para hacer esto defino en el archivo gulpfile.js el siguiente código:

Código HTML:
gulp.task('default', ['home','home-logged','watch']);

gulp.task('home', function() {
    gulp.src(['W:/entorno-test/js/scripts1.js','W:/entorno-test/js/scripts2.js','W:/entorno-test/js/scripts3.js','W:/entorno-test/js/scripts4.js'])
        .pipe(plumber())
        .pipe(concat('home.js'))
        .pipe(uglify())
        .pipe(gulp.dest('W:/entorno-test/js/sesion/home'));
});

gulp.task('home-logged', function() {
    gulp.src(['W:/entorno-test/js/scripts1.js','W:/entorno-test/js/scripts6.js','W:/entorno-test/js/scripts3.js','W:/entorno-test/js/scripts4.js','W:/entorno-test/js/scripts5.js'])
        .pipe(plumber())
        .pipe(concat('home.js'))
        .pipe(uglify())
        .pipe(gulp.dest('W:/entorno-test/js/sesion/home/logged'));
});

gulp.task('watch', function() {
    gulp.watch(['W:/entorno-test/js/scripts1.js','W:/entorno-test/js/scripts2.js','W:/entorno-test/js/scripts3.js','W:/entorno-test/js/scripts4.js'], ['home']);
    gulp.watch(['W:/entorno-test/js/scripts1.js','W:/entorno-test/js/scripts6.js','W:/entorno-test/js/scripts3.js','W:/entorno-test/js/scripts4.js','W:/entorno-test/js/scripts5.js'], ['home-logged']);
});
Ejecuto el comando 'gulp' en la consola de Node.js, empieza el watch y crea un archivo dentro de /js/home/home.js y otro en /js/home/logged/home.js
Pero los dos archivos son iguales (el archivo 'logged' es identico al 'no-logged') incomprensiblemente.

No se si estoy haciendo algo mal, ya digo que acabo de empezar con Gulp.

¿Alguien puede ayudarme por favor?
Muchas gracias por adelantado.

Última edición por hamramr; 19/06/2015 a las 03:40 Razón: Fallo en el código
  #2 (permalink)  
Antiguo 19/06/2015, 03:42
 
Fecha de Ingreso: marzo-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: gulp.js y estructura de archivos

Me autorespondo porque he encontrado la solución (por si a alguien le puede servir en el futuro).

En el caso de añadir rutas absolutas en el src, parece ser que hay que especificar el directorio 'base'.

El código quedaría así:

Código HTML:
gulp.task('default', ['home','home-logged','watch']);

gulp.task('home', function() {
    gulp.src(['W:/entorno-test/js/scripts1.js','W:/entorno-test/js/scripts2.js','W:/entorno-test/js/scripts3.js','W:/entorno-test/js/scripts4.js'],
        {base: 'W:/entorno-test/'})
        .pipe(plumber())
        .pipe(concat('home.js'))
        .pipe(uglify())
        .pipe(gulp.dest('W:/entorno-test/js/sesion/home'));
});

gulp.task('home-logged', function() {
    gulp.src(['W:/entorno-test/js/scripts1.js','W:/entorno-test/js/scripts6.js','W:/entorno-test/js/scripts3.js','W:/entorno-test/js/scripts4.js','W:/entorno-test/js/scripts5.js'],
        {base: 'W:/entorno-test/'})
        .pipe(plumber())
        .pipe(concat('home.js'))
        .pipe(uglify())
        .pipe(gulp.dest('W:/entorno-test/js/sesion/home/logged'));
});

gulp.task('watch', function() {
    gulp.watch(['W:/entorno-test/js/scripts1.js','W:/entorno-test/js/scripts2.js','W:/entorno-test/js/scripts3.js','W:/entorno-test/js/scripts4.js'], ['home']);
    gulp.watch(['W:/entorno-test/js/scripts1.js','W:/entorno-test/js/scripts6.js','W:/entorno-test/js/scripts3.js','W:/entorno-test/js/scripts4.js','W:/entorno-test/js/scripts5.js'], ['home-logged']);
});

Etiquetas: estructura
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:37.