吞下 – 丑化:扔呃; //未处理“错误”事件

我很新的吞咽,我遵循http://leveluptuts.com/tutorials/learning-gulp中的教程,我得到这个错误:

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) 

这里是我的代码:

  var gulp = require('gulp') uglify = require('gulp-uglify'); gulp.task('default', function() { // body... gulp.src('js/*.js') .pipe(uglify()) .pipe(gulp.dest('minjs')); }); 

和目录树,只是简单的

 -gulp -js/ -gulpfile.js 

非常感谢

您的uglify任务可能会窒息其中一个正在尝试处理的文件。 处理错误并将输出写入控制台,以便可以看到哪个文件导致任务失败。

  gulp.task('scripts', ['clean'], function () { return gulp.src('js/*.js') .pipe(uglify().on('error', function(e){ console.log(e); })) .pipe(gulp.dest('minjs')); }); 

当你再次运行你的gulp任务时,你仍然会得到一个错误,但是这次,在输出的顶部,你会看到uglify处理中遇到的文件和行号。 从那里debugging。

也许它的语法错误? 修复它,然后再试一次。

也许你有一个奇怪的_reference.js文件,其中包含您在Visual Studio项目中看到的意外字符? 从gulp.src中排除它,然后重试。

我有同样的错误。 所以我试图输出一个错误到控制台(感谢宾果 )。 我意识到问题在于gulp-uglify不想使用ES6。 我改变了我的JS代码ES2015,瞧。 你也可以用咕嘟咕嘟小鱼 。

你也可以使用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')); }); 

我有同样的问题,并得到相同的错误。 问题是,我的一个JS文件有@charset“UTF-8”; 在第一行。 所以,由于@符号,语法被破坏了。 我删除它,它运作良好。

 { 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', .... .... } 
Interesting Posts