gulp uglify events.js未处理';错误';事件

gulp uglify events.js未处理';错误';事件,gulp,gulp-uglify,Gulp,Gulp Uglify,我得到了这个错误。昨天运行gulp运行得非常好,但是今天早上(没有更改代码),我遇到了这个错误 $ gulp [08:54:10] Using gulpfile C:\Source\Source2\bunny-meadows\gulpfile.js [08:54:10] Starting 'scripts'... [08:54:10] 'scripts' errored after 11 ms [08:54:10] TypeError: listener must be a function

我得到了这个错误。昨天运行gulp运行得非常好,但是今天早上(没有更改代码),我遇到了这个错误

$ gulp
[08:54:10] Using gulpfile C:\Source\Source2\bunny-meadows\gulpfile.js
[08:54:10] Starting 'scripts'...
[08:54:10] 'scripts' errored after 11 ms
[08:54:10] TypeError: listener must be a function
    at TypeError (<anonymous>)
    at DestroyableTransform.addListener (events.js:130:11)
    at DestroyableTransform.Readable.on (C:\Source\Source2\bunny-meadows\node_mo
dules\gulp-uglify\node_modules\through2\node_modules\readable-stream\lib\_stream
_readable.js:729:33)
    at Gulp.<anonymous> (C:\Source\Source2\bunny-meadows\gulpfile.js:37:10)
    at module.exports (C:\Source\Source2\bunny-meadows\node_modules\gulp\node_mo
dules\orchestrator\lib\runTask.js:34:7)
    at Gulp.Orchestrator._runTask (C:\Source\Source2\bunny-meadows\node_modules\
gulp\node_modules\orchestrator\index.js:273:3)
    at Gulp.Orchestrator._runStep (C:\Source\Source2\bunny-meadows\node_modules\
gulp\node_modules\orchestrator\index.js:214:10)
    at Gulp.Orchestrator.start (C:\Source\Source2\bunny-meadows\node_modules\gul
p\node_modules\orchestrator\index.js:134:8)
    at c:\Users\hschillig.SCDL\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js
:129:20
    at process._tickCallback (node.js:419:13)

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error
    at new JS_Parse_Error (C:\Source\Source2\bunny-meadows\node_modules\gulp-ugl
ify\node_modules\uglify-js\lib\parse.js:196:18)
    at js_error (C:\Source\Source2\bunny-meadows\node_modules\gulp-uglify\node_m
odules\uglify-js\lib\parse.js:204:11)
    at croak (C:\Source\Source2\bunny-meadows\node_modules\gulp-uglify\node_modu
les\uglify-js\lib\parse.js:675:9)
    at token_error (C:\Source\Source2\bunny-meadows\node_modules\gulp-uglify\nod
e_modules\uglify-js\lib\parse.js:683:9)
    at expect_token (C:\Source\Source2\bunny-meadows\node_modules\gulp-uglify\no
de_modules\uglify-js\lib\parse.js:696:9)
    at expect (C:\Source\Source2\bunny-meadows\node_modules\gulp-uglify\node_mod
ules\uglify-js\lib\parse.js:699:36)
    at function_ (C:\Source\Source2\bunny-meadows\node_modules\gulp-uglify\node_
modules\uglify-js\lib\parse.js:959:9)
    at expr_atom (C:\Source\Source2\bunny-meadows\node_modules\gulp-uglify\node_
modules\uglify-js\lib\parse.js:1188:24)
    at maybe_unary (C:\Source\Source2\bunny-meadows\node_modules\gulp-uglify\nod
e_modules\uglify-js\lib\parse.js:1358:19)
    at expr_ops (C:\Source\Source2\bunny-meadows\node_modules\gulp-uglify\node_m
odules\uglify-js\lib\parse.js:1393:24)
    at maybe_conditional (C:\Source\Source2\bunny-meadows\node_modules\gulp-ugli
fy\node_modules\uglify-js\lib\parse.js:1398:20)
    at maybe_assign (C:\Source\Source2\bunny-meadows\node_modules\gulp-uglify\no
de_modules\uglify-js\lib\parse.js:1422:20)
再一次,我没有改变任何东西,所以我不明白为什么今天早上它突然不想工作。

下面的内容有帮助:

  • 安装gulputil
  • 使用以下语句导入Gulp-util:
    var gutil=require('Gulp-util')
  • 最后,在丑化代码时,像这样附加错误处理程序:
    .pipe(uglify().on('error',gutil.log))

  • 我能够调试它。这是我所包含的一个缩小文件中的一个语法错误。

    理解Gulp管道中的错误的最佳方法是使用辅助模块,例如
    。正如Gulp文档中所解释的,通过包装管道,您可以获得正确的错误

    gulp.task('scripts', function(cb) {
        pump([
            gulp.src(paths.scripts),
            concat('all.js'),
            gulp.dest('public/assets/js'),
            rename('all.min.js'),
            uglify(),
            gulp.dest('public/assets/js'),
            livereload()
        ], cb);
    });
    

    将错误处理程序附加到管道的UglifyJS部分不会告诉您其他部分中的错误,也不会正确地向Gulp的任务运行系统发出错误信号。

    如果不想破坏Gulp
    console.log(e.message),请这样编写错误处理程序;返回此参数。end()
    
    gulp.task('scripts', function(cb) {
        pump([
            gulp.src(paths.scripts),
            concat('all.js'),
            gulp.dest('public/assets/js'),
            rename('all.min.js'),
            uglify(),
            gulp.dest('public/assets/js'),
            livereload()
        ], cb);
    });