我正在尝试,编写一个模块,当gulp正在观察任务时,并且Less文件因某些错误而更改,它应该向控制台发送消息,但它不应该使系统崩溃,它不会: 这是我写的代码:
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 :(得分: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'));
});
水管工后我错过了()。 希望这会有所帮助。
答案 1 :(得分:0)
您确定使用
安装了 gulp-less 吗?npm install --save-dev
并使用
在 gulpfile 中引用它var less = require('gulp-less');
当管道的目的地(此处 less )未定义时,管道工发生此错误。
为什么你在这里使用{}
?我认为它们有点无用,因为你只针对其中的一件事,你可以删除它们。
答案 2 :(得分:0)
是的,我已经安装了gulp-less,我找到了解决这个问题的方法: 它应该如下:
gulp.task('mystyle', function () {
gulp.src('build/stylesfiles.less').pipe(plumber()).pipe(less()).
pipe(gulp.dest ('build/styles/assets'));
});
基本上我不需要错误消息,它会给我一个默认错误,这可以让我的工作完成。使用上面的代码将确保它运行,并给我我的错误,但不会崩溃服务器.. ..但是谢谢你" Apercu"