gpt4 book ai didi

javascript - gulp-plumber 抛出错误然后停止构建。

转载 作者:行者123 更新时间:2023-12-03 08:47:21 24 4
gpt4 key购买 nike

遇到 gulp-plumber 问题,因为它在抛出错误时破坏了我的构建。

例如,我使用无效语法(例如 padding-left:woah-err)对我的 scss 进行了更改。管道工在终端中通知我错误。然后我回到 scss 文件,将其更改为 padding-left:20px; 保存并在终端中得到无响应,它看起来像我的gulp 构建已损坏...要修复我必须重新启动 gulp。

但是在我的 gulp 文件中,如果我将 this.emit('end'); 更改为 this.emit(); 构建不会中断,但我没有得到任何结果管道工不再通知错误。

考虑改变我配置水管工的方式,使其正常工作。有什么建议么?这看起来像 good solution

这是我的包裹

var gulp = require('gulp'),
fs = require('fs'),
gulpif = require('gulp-if'), // condtionally run task
plumber = require('gulp-plumber'), // prevent pipe breaking
browserSync = require('browser-sync').create(),
bower = require('gulp-bower'), // gulp bower
concat = require('gulp-concat'), // concat files
cssmin = require('gulp-minify-css'), // minify css
rename = require('gulp-rename'), // rename file
runSequence = require('run-sequence'), // runs gulp tasks in order
sass = require('gulp-sass'), // css preprocessor
uglify = require('gulp-uglify'); // minify js

这是我的样式任务(有人帮助我设置它)..可能需要重新考虑它的结构。接受建议

// Styles Task
gulp.task('styles', function(){
// streamError is set to false
var streamError = false;
return gulp.src(paths.source.styles)
.pipe(plumber({
// plumber finds errors in stream
errorHandeler:function(error){
streamError = error;
// plumber logs errors to console and terminal
console.log(streamError.message);
browserSync.notify(streamError.message,errorTimeout);
this.emit('end');
}
}))
.pipe(sass())
// compile sass
.pipe(gulp.dest(paths.destination.styles))
// if the streamError is NOT false reload browser
.pipe(gulpif(!streamError,browserSync.reload({stream:true})))
.pipe(cssmin()) // min css
.pipe(rename({ // rename file to site.min.css
suffix:'.min'
}))
.pipe(gulp.dest(paths.destination.styles))
// if streamError is not `false` reload browser
.pipe(gulpif(!streamError,browserSync.reload({stream:true})));
});

这是错误 enter image description here

最佳答案

这解决了我的问题。

使用 gulp-plumber 1.1.0

function onError(err) {
console.log(err); //or other way you may prefer to log
this.emit('end');
}

gulp.task('myTask', function(){
return gulp
.src('myFilePath')
.pipe(plumber(onError))
[...]
}

希望这有帮助

关于javascript - gulp-plumber 抛出错误然后停止构建。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32832740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com