繁体   English   中英

Gulp水管工无法用管道输送到未定义

[英]Gulp plumber cannot pipe to undefined

我正在尝试编写一个模块,当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

我有同样的错误。 我通过在管道工之后添加()来解决该问题。 这是代码。

较早的代码:

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'));

});

水管工后我错过了()。 希望这可以帮助。

您确定已安装了无gulp使用

npm install --save-dev

并在您的gulpfile中引用它

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

当管道的目标位置(此处为less )未定义时,就会发生来自管道工的错误。

另外,为什么在这里使用{} 我认为它们有点无用,因为您只针对其中的一件事,所以可以将其删除。

是的,我已经安装了无gulp的软件,并且我也找到了解决此问题的解决方案:应该如下所示:

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

基本上我不需要错误消息,它会给我一个默认错误,可以完成我的工作。使用上面的代码将确保它运行,并给我我的错误,但不会使服务器崩溃....但是谢谢你“ Apercu”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM