gulp-uglify events.js未处理的'错误'事件 [英] gulp-uglify events.js unhandled 'error' event

查看:431
本文介绍了gulp-uglify events.js未处理的'错误'事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我得到这个错误。运行gulp昨天工作得很好,但今天早上(改变了NO代码),我得到这个错误。

  $ gulp 
[08:54:10]使用gulpfile C:\ Source\Source2\bunny-meadows\gulpfile.js
[08:54:10]启动'scripts'...
$ [08:54:10]'scripts'11 ms后出错
[08:54:10] TypeError:侦听器必须是TypeError(<匿名>)
函数
在DestroyableTransform.addListener(events.js:130:11)
在DestroyableTransform.Readable.on(C:\ Source\Source2\bunny-meadows\\\
ode_mo
dules\gulp-uglify \\\
ode_modules\through2\\\
ode_modules\readable-stream\lib\_stream
_readable.js:729:33)
在Gulp。< anonymous> (C:\ Source\Source2\bunny-meadows\gulpfile.js:37:10)
在module.exports(C:\ Source\Source2\bunny-meadows\\\
ode_modules\\ \\ gulp \ node_mo
dules \orchestrator\lib\runTask.js:34:7)
在Gulp.Orchestrator._runTask(C:\ Source\Source2\bunny-meadows \\\
ode_modules\
gulp\\\
ode_modules\orchestrator\index.js:273:3)
在Gulp.Orchestrator._runStep(C:\ Source\Source2\bunny-meadows \\\
ode_modules\
gulp\\\
ode_modules\orchestrator\index.js:214:10)
在Gulp.Orchestrator.start(C:\ Source\Source2\bunny-meadows \\\
ode_modules\gul
p \ node_modules \orchestrator\index.js:134:8)
at c:\ Users \hschillig.SCDL\AppData\Roaming\\\
pm \\\
ode_modules\gulp\bin\gulp.js
:129:20
在process._tickCallback(node.js:419:13)

events.js :72
扔呃; //未处理'错误'事件
^
在新JS_Parse_Error时出错
(C:\ Source \ Source2\bunny-meadows\\\
ode_modules\gulp-ugl
ify\\\
ode_modules\uglify -js\lib\parse.js:196:18)
在js_error(C:\ Source\Source2\bunny-meadows\\\
ode_modules\gulp-uglify \\\
ode_m
odules \uglify -js\lib\parse.js:204:11)
在croak(C:\ Source\Source2\bunny-meadows\\\
ode_modules\\ \\ gulp-uglify \ node_modu
les\uglify -js\lib\parse.js:675:9)
at token_error(C:\ Source\Source2\bunny-meadows \\\
ode_modules\gulp-uglify\\\
od
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\bun
at function_(C:\ Source \\\\\\\\\\\\\\\\\') \\ Source2 \ bunny-meadows\\\
ode_modules\gulp-uglify\\\
ode_
modules\uglify -js\lib\parse.js:959:9)
at expr_atom(C: \Source\Source2\bunny-meadows\\\
ode_modules\gulp-uglify\\\
ode_
modules\uglify -js\lib\parse.js:1188:24)
at maybe_unary(C:\ Source\Source2\bunny-meadows\\\
ode_modules\gulp-uglify\\\
od
e_modules\uglify -js\lib\parse.js:1358:19)
at expr_ops(C:\ Source\Source2\bunny-meadows\\\
ode_modules\gulp-uglify\\\
ode_m
odules\uglify -js\lib\parse.js:1393 :24)
at maybe_conditional(C:\ Source\Source2\bunny-meadows\\\
ode_modules\gulp-ugli
fy\\\
ode_modules\uglify -js\lib\parse的.js:1398:2 0)
at maybe_assign(C:\ Source\Source2\bunny-meadows\\\
ode_modules\gulp-uglify\\\
o
de_modules\uglify -js\lib\parse。 js:1422:20)

我的gulpfile.js如下所示:

  var gulp = require('gulp'); 

//包含我们的插件
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var livereload = require('gulp-livereload');

var paths = {
//使用jquery的框架版本
scripts:[
'public / assets / js / jquery.min.js',
'public / assets / plugins / mustachejs / mustache.js',
'public / assets / js / modernizr.js',
'public / assets / js / bootstrap.min.js',
'public / assets / js / placeholders.min.js',
'public / assets / plugins / bootstrap-wysiwyg / bootstrap3-wysihtml5.all.min.js',
'public /assets/plugins/bootstrap-wysiwyg/bootstrap3-wysihtml5.min.js',
'public / assets / plugins / responsiveslides / responsiveslides.min.js',
'public / assets / plugins / bxslider /jquery.bxslider.min.js',
'public / assets / plugins / magnific-popup / magnific-popup.js',
'public / assets / js / jquery.autocomplete.min.js ',
'public / assets / js / plugins / additems.js',
'public / assets / js / plugins / farm / farm.js',
'public / assets / js /插件/ plusminus.js',
'public / assets / js / core.js'
]
};

//连结& Minify JS
gulp.task('scripts',function(){
return gulp.src(paths.scripts)
.pipe(concat('all.js'))
.pipe(gulp.dest('public / assets / js'))
.pipe(重命名('all.min.js'))
.pipe(uglify())
.on('error')
.pipe(gulp.dest('public / assets / js'))
.pipe(livereload());
});
$ b $ //观察文件变化
gulp.task('watch',function(){
livereload.listen();
gulp.watch(paths。脚本,['脚本']);
});

//默认任务
gulp.task('default',['scripts','watch']);

我再也没有改变任何东西,所以我不明白为什么突然今天早上它不想工作。

解决方案

继此之后:


  1. 安装Gulp-util

  2. 使用以下语句导入Gulp-util: var gutil = require('gulp-util' );

  3. 最后,当你隐藏代码时,附上错误处理程序: .pipe(uglify()。on ('error',gutil.log))

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


I'm getting this error. Running gulp yesterday worked perfectly fine, but this morning (changed NO code) and I'm getting this error.

$ 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)

My gulpfile.js looks like this:

var gulp = require('gulp');

// Include Our Plugins
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');
var livereload = require('gulp-livereload');

var paths = {
    // using framework version of jquery
    scripts: [
        'public/assets/js/jquery.min.js',
        'public/assets/plugins/mustachejs/mustache.js',
        'public/assets/js/modernizr.js',
        'public/assets/js/bootstrap.min.js',
        'public/assets/js/placeholders.min.js',
        'public/assets/plugins/bootstrap-wysiwyg/bootstrap3-wysihtml5.all.min.js',
        'public/assets/plugins/bootstrap-wysiwyg/bootstrap3-wysihtml5.min.js',
        'public/assets/plugins/responsiveslides/responsiveslides.min.js',
        'public/assets/plugins/bxslider/jquery.bxslider.min.js',
        'public/assets/plugins/magnific-popup/magnific-popup.js',
        'public/assets/js/jquery.autocomplete.min.js',
        'public/assets/js/plugins/additems.js',
        'public/assets/js/plugins/farm/farm.js',
        'public/assets/js/plugins/plusminus.js',
        'public/assets/js/core.js'
    ]
};

// Concatenate & Minify JS
gulp.task('scripts', function() {
    return gulp.src(paths.scripts)
        .pipe(concat('all.js'))
        .pipe(gulp.dest('public/assets/js'))
        .pipe(rename('all.min.js'))
        .pipe(uglify())
        .on('error')
        .pipe(gulp.dest('public/assets/js'))
        .pipe(livereload());
});

// Watch Files For Changes
gulp.task('watch', function() {
    livereload.listen();
    gulp.watch(paths.scripts, ['scripts']);
});

// Default Task
gulp.task('default', ['scripts', 'watch']);

Again I didn't change anything so I don't get why all of a sudden this morning it doesn't want to work.

解决方案

Following this helped:

  1. Install Gulp-util
  2. Import the Gulp-util by using the following statement: var gutil = require('gulp-util');
  3. Finally, when you are uglifying the code, attach the error handler like this: .pipe(uglify().on('error', gutil.log))

I was able to debug it. It was a syntax error in one of the minified files I was including.

这篇关于gulp-uglify events.js未处理的'错误'事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆