gulp uglify - es6 - Gulp-uglify: tirar er;// Evento de ''error'' no controlado
gulp uglify es6 (7)
En mi caso, parece que no acepta la función "flecha-sintaxis" (por ejemplo,
data=>{ // do something; }
)
Soy bastante nuevo en tragar, y sigo los tutoriales en http://leveluptuts.com/tutorials/learning-gulp , me sale este error:
events.js:141
throw er; // Unhandled ''error'' event
^
Error
at new JS_Parse_Error (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:196:18)
at js_error (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:204:11)
at croak (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:680:9)
at token_error (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:688:9)
at unexpected (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:694:9)
at expr_atom (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:1201:9)
at maybe_unary (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:1363:19)
at expr_ops (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:1398:24)
at maybe_conditional (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:1403:20)
at maybe_assign (/home/kid/node_modules/gulp-uglify/node_modules/uglify-js/lib/parse.js:1427:20)
Aquí está mi código:
var gulp = require(''gulp'')
uglify = require(''gulp-uglify'');
gulp.task(''default'', function() {
// body...
gulp.src(''js/*.js'')
.pipe(uglify())
.pipe(gulp.dest(''minjs''));
});
y el árbol de directorio, simplemente simple
-gulp
-js/
-gulpfile.js
muchas gracias
Su tarea de uglify probablemente se está ahogando en uno de los archivos que está tratando de procesar. Maneje el error y escriba el resultado en la consola para que pueda ver qué archivo hace que la tarea falle.
gulp.task(''scripts'', [''clean''], function () {
return gulp.src(''js/*.js'')
.pipe(uglify().on(''error'', function(e){
console.log(e);
}))
.pipe(gulp.dest(''minjs''));
});
Cuando ejecute su tarea de nuevo, aún obtendrá un error, pero esta vez, justo en la parte superior de la salida, verá el archivo y el número de línea que uglify tiene problemas para procesar. Depurar desde allí.
Tal vez es un error de sintaxis? Solucionelo e intente nuevamente.
¿Quizás tenga un archivo _reference.js extraño con caracteres inesperados como los que ve en los proyectos de Visual Studio a veces? Excluirlo de gulp.src e intentarlo de nuevo.
También puedes usar
gulp-util
.
https://www.npmjs.com/package/gulp-util
var gutil = require(''gulp-util'');
gulp.task(''scripts'', [''clean''], function () {
return gulp.src(''js/*.js'')
.pipe(uglify().on(''error'',gutil.log))
.pipe(gulp.dest(''minjs''));
});
Tuve el mismo problema y recibí el mismo error.
El problema era que uno de mis archivos JS tenía @charset "UTF-8";
en la primera linea.
Entonces la sintaxis se estaba rompiendo debido al símbolo
@
.
Lo quité y funcionó bien.
{
SyntaxError: Unexpected character ''@'' at JS_Parse_Error.get
(eval at <anonymous> (C:/xampp/htdocs/catch/node_moles/uglify-js/tools/node.js:21:1),
<anonymous>:86:23) at formatError (util.js:649:15)
at formatValue (util.js:554:18)
at formatProperty (util.js:795:15)
at util.js:655:12
at Array.map (native)
at formatObject (util.js:654:15)
at formatValue (util.js:593:16)
at inspect (util.js:186:10)
at exports.format (util.js:72:24)
message: ''Unexpected character /'@/''',
filename: ''all.min.css'', line: 1, col: 0, pos: 0 },
plugin: ''gulp-uglify'',
....
....
}
Tuve el mismo problema y todo se redujo a un archivo js que daba problemas.
El mayor problema era que tenía 10 archivos js, pero después de un poco de excavación, mi problema no se agregaba
;
ya que esto minimizará su código, no importa que use ES6, debe agregarlo
;
al final de su código o minificar no funcionará.
Yo tenía el mismo error. Así que intenté enviar un error a la consola (gracias al bingo ). Me di cuenta de que el problema es que gulp-uglify no quiere trabajar con ES6. Cambié mi código JS a ES2015 y listo. También puedes usar gulp-babel .
use gulp-uglify-es lugar de gulp-uglify. Funciona con es6