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-rename
y también generar el archivo concatenado primero antes de 'uglification'. Aquí está el código:Al
grunt
principio fue un poco confuso al principio, pero ahora tiene sentido. Espero que ayude a losgulp
novatos.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.task
debe 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-concat
ygulp-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-uglify
ygulp-concat
ambos funcionan biengulp-sourcemaps
ahora. Solo asegúrese de configurar lanewLine
opción correctamente paragulp-concat
; Recomiendo\n;
.Respuesta original (diciembre de 2014): use gulp-uglifyjs en su lugar.
gulp-concat
no es necesariamente seguro; necesita manejar los puntos y comas finales correctamente.gulp-uglify
Tampoco admite mapas de origen. Aquí hay un fragmento de un proyecto en el que estoy trabajando:fuente
gulp-concat
no lo hizo (gulp-uglify
no le permitirá minificar múltiples archivos, por lo que primero debe concat). Además,gulp-concat
utiliza un\r\n
valor 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