2014-10-19 7 views
0

Я пытаюсь написать модуль, который, когда gulp наблюдает за задачей, а файл Less изменен с некоторой ошибкой, должен дать сообщение консоли, но он не должен разбивать систему , что он делает не: Это код, который я написал:Gulp plumber не может подключиться к undefined

var onError = function (err) { 
    console.log(err); 
}; 

gulp.task('styles', function() { 
    gulp.src('./{views}/**/*.{less}') 
    .pipe(plumber({ 
     errorHandler: onError 
    })) 
    .pipe(less()) 
    .pipe(gulp.dest('build/styles/common.css')); 
}); 

Когда я запускаю приведенный выше код, я получаю ошибку ниже:

'styles' errored after 20 ms 
Error in plugin 'plumber' 
Message: 
    Can't pipe to undefined 

ответ

0

Да я установил глоток меньше, и я понял, решение этой проблемы Aswell: Оно должно быть следующим:

gulp.task('mystyle', function() { 
    gulp.src('build/stylesfiles.less').pipe(plumber()).pipe(less()). 
    pipe(gulp.dest ('build/styles/assets')); 
    }); 

В принципе мне не нужно сообщение об ошибке, это даст мне ошибка по умолчанию, которая может выполнить мою работу. Используя приведенный выше код, убедитесь, что он работает, и дает мне мою ошибку, но не сбой сервера ... но спасибо «Apercu»

+0

Нет проблем, не забудьте принять свой собственный ответ для будущих читателей –

0

вы уверены, что установили глотка без использования с использованием

npm install --save-dev 

и ссылаться на него в вашем gulpfile с

var less = require('gulp-less'); 

Этой ошибкой из водопроводчика происходит, когда адресат вашей трубы (здесь ваш менее) не определен.

Также почему вы используете {} здесь? Они немного бесполезны, я думаю, так как вы нацеливаете только одну вещь, вы можете удалить их.

1

У меня был такая же ошибка. Я разрешил это, добавив() после водопроводчика. Вот код.

Ранее код:

gulp.task('scripts',function(){ 
gulp.src('admin-scripts.js') 
    .pipe(plumber) 
    .pipe(uglify().on('error', function(e){ 
     console.log(e); 
    })) 
    .pipe(gulp.dest('build/js')); 

}); 

Фиксированный Код:

gulp.task('scripts',function(){ 
gulp.src('admin-scripts.js') 
    .pipe(plumber()) 
    .pipe(uglify().on('error', function(e){ 
     console.log(e); 
    })) 
    .pipe(gulp.dest('build/js')); 

}); 

я пропускал() после того, как водопроводчик. Надеюсь, это поможет.

Смежные вопросы