Javascript 不冻结的GulpJs错误处理
我正在尝试将我的sass和其他一些东西一起转换为css。如果出现错误,我在处理sass转换时遇到问题。我可以让它告诉我,但它挂了,我必须重新开始吞咽。我怀念这里和那里的打字,我虔诚地按ctrl+s,所以当我的每一个打字错误都被吞咽时,它会变得非常烦人。以下是我所拥有的:Javascript 不冻结的GulpJs错误处理,javascript,gulp,build-system,Javascript,Gulp,Build System,我正在尝试将我的sass和其他一些东西一起转换为css。如果出现错误,我在处理sass转换时遇到问题。我可以让它告诉我,但它挂了,我必须重新开始吞咽。我怀念这里和那里的打字,我虔诚地按ctrl+s,所以当我的每一个打字错误都被吞咽时,它会变得非常烦人。以下是我所拥有的: gulp.task('default', function () { var sassSrc = './src/scss/*.scss', sassDst = './build/css',
gulp.task('default', function () {
var sassSrc = './src/scss/*.scss',
sassDst = './build/css',
htmlSrc = './src/*.html',
htmlDst = './build';
gulp.src(sassSrc, {unpipeOnError: false})
.pipe(watch(function(files) {
return files.pipe(plumber())
.pipe(sass())
.on("error", notify.onError())
.pipe(prefix("last 3 version", "> 1%", 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', "Android 4"))
.pipe(minifyCSS())
.pipe(gulp.dest(sassDst))
.pipe(notify({ message: 'Styles task complete' }));
}));
gulp.src(htmlSrc)
.pipe(watch(function(files) {
return files.pipe(minifyHTML())
.pipe(gulp.dest(htmlDst));
}));
});
尝试使用节点中的类。不要直接传递notify.onError()
,还要发出end
事件。将相关代码更改为以下代码块:
.on('error', function() {
notify.onError().apply(this, arguments);
this.emit('end');
})
而且,即使出现错误,
gulpwatch
也应继续响应更改。希望这有帮助 我可以添加.pipe(sass({errLogToConsole:true}))使它停止拖拽gulp文件,但我不能让它也设置一个Notify。它将打印到控制台,但我不想每次都达到峰值。这非常有效!非常感谢。