Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gulp 未经处理的吞咽';错误';事件_Gulp_Frontend - Fatal编程技术网

Gulp 未经处理的吞咽';错误';事件

Gulp 未经处理的吞咽';错误';事件,gulp,frontend,Gulp,Frontend,运行gulp时,我收到一个“未处理的‘错误’事件”: events.js:141 throw er; // Unhandled 'error' event ^ Error: spawn gm ENOENT at exports._errnoException (util.js:870:11) at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32) at o

运行gulp时,我收到一个“未处理的‘错误’事件”:

events.js:141
      throw er; // Unhandled 'error' event
      ^

Error: spawn gm ENOENT
    at exports._errnoException (util.js:870:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
    at onErrorNT (internal/child_process.js:344:16)
    at nextTickCallbackWith2Args (node.js:437:9)
    at process._tickCallback (node.js:351:17)
我发现错误是由我的gulpfile.js中的函数引起的:

var taskResizeSprite2x = function() {
    return gulp.src(config.paths.source.sprite + '/*@2x.png')
        .pipe(changed(config.paths.source.sprite + '/*@2x.png'))
        .pipe(gm(function(gmfile) {
            gmfile.size(function(err, value) {
                if(value && (value.width % 2 !== 0 || value.height % 2 !== 0)) {
                    var src = gmfile.name().source;
                    modules.livereload.notify('Retina images must have even size!<br>' + src);

                    throw Error('Retina images must have even size! ' + src);
                }
            })
            return gmfile.resize('50%', '50%');
        }))
        .pipe(rename(function(filepath) {
            filepath.basename = filepath.basename.replace(/@\dx/, '');
        }))
        .pipe(gulp.dest(config.paths.source.sprite));
};
var taskResizeSprite2x=function(){
return gulp.src(config.path.source.sprite+'/*@2x.png')
.pipe(已更改(config.path.source.sprite+'/*@2x.png'))
.pipe(gm)函数(gmfile){
gmfile.size(函数(err,value){
如果(值&(值.宽度%2!==0 | |值.高度%2!==0)){
var src=gmfile.name().source;
modules.livereload.notify('Retina图像的大小必须均匀!
'+src); 抛出错误('视网膜图像必须大小相等!'+src); } }) 返回gmfile.resize('50%,'50%); })) .pipe(重命名(函数(文件路径){ filepath.basename=filepath.basename.replace(/@\dx/,“”); })) .pipe(gulp.dest(config.path.source.sprite)); };

我应该做什么以及如何调试它发生的原因?

您需要一个记录实际错误的函数

function handleError(err) {
  console.log(err.toString());
  this.emit('end');
}
然后在一个gulp函数抛出错误时调用它

.pipe(something({
  Paths: 'somepath'
}))
.on('error', handleError)