Estoy tratando de usar Gulp para:
- Tome 3 archivos javascript específicos, concatenelos, luego guarde el resultado en un archivo (concat.js)
- Tome este archivo concatenado y uglify / minify, luego guarde el resultado en otro archivo (uglify.js)
Tengo el siguiente código hasta ahora
var gulp = require('gulp'),
gp_concat = require('gulp-concat'),
gp_uglify = require('gulp-uglify');
gulp.task('js-fef', function(){
return gulp.src(['file1.js', 'file2.js', 'file3.js'])
.pipe(gp_concat('concat.js'))
.pipe(gp_uglify())
.pipe(gulp.dest('js'));
});
gulp.task('default', ['js-fef'], function(){});
Sin embargo, la operación uglify no parece estar funcionando, o el archivo no se genera por alguna razón.
¿Qué necesito hacer para que esto suceda?

Respuestas:
Resulta que necesitaba usar
gulp-renamey también generar el archivo concatenado primero antes de 'uglification'. Aquí está el código:Al
gruntprincipio fue un poco confuso al principio, pero ahora tiene sentido. Espero que ayude a losgulpnovatos.Y, si necesita mapas fuente, aquí está el código actualizado:
Vea gulp-sourcemaps para más información sobre opciones y configuración.
fuente
gulp.taskdebe ser:.pipe(gp_concat('concat.js'))Mi archivo gulp produce un compilado final de paquete-min.js, espero que esto ayude a alguien.
fuente
Solución usando
gulp-uglify,gulp-concatygulp-sourcemaps. Esto es de un proyecto en el que estoy trabajando.Esto combina y comprime todos sus
scripts, los pone en un archivo llamadoall_the_things.js. El archivo terminará con una línea especial.Lo que le dice a su navegador que busque ese archivo de mapa, que también escribe.
fuente
Su solución no funciona porque necesita guardar el archivo después del proceso de concat y luego uglify y guardar nuevamente. No es necesario cambiar el nombre del archivo entre concat y uglify.
fuente
10 de junio de 2015: Nota del autor de
gulp-uglifyjs:18 de febrero de 2015:
gulp-uglifyygulp-concatambos funcionan biengulp-sourcemapsahora. Solo asegúrese de configurar lanewLineopción correctamente paragulp-concat; Recomiendo\n;.Respuesta original (diciembre de 2014): use gulp-uglifyjs en su lugar.
gulp-concatno es necesariamente seguro; necesita manejar los puntos y comas finales correctamente.gulp-uglifyTampoco admite mapas de origen. Aquí hay un fragmento de un proyecto en el que estoy trabajando:fuente
gulp-concatno lo hizo (gulp-uglifyno le permitirá minificar múltiples archivos, por lo que primero debe concat). Además,gulp-concatutiliza un\r\nvalor predeterminado, que podría causar problemas si sus archivos JS no terminan correctamente. Pero sí, ahora que hay soporte, probablemente sea mejor seguir esa ruta, ya que es más flexible.estamos usando la siguiente configuración para hacer algo similar
El archivo GulpDS de muestra está a continuación:
fuente