Gulp 管道工打破 Sass 管道
Gulp Plumber Breaking Sass Pipe
我不知道为什么我的 Sass 任务在我使用 gulp-水管工时中断。我的 Sass 任务如下所示:
gulp.task('sass', function() {
return gulp.src(['./src/scss/*.scss', './src/scss/**/*.scss'])
.pipe(plumber())
.pipe(sass({
includePaths : [
'./lib/basscss/scss',
'./lib/fluidbox/css'
],
outputStyle: 'expanded'
}))
.pipe(prefix({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(minifyCSS())
.pipe(gulp.dest('./_site/public/css'))
.pipe(gzip())
.pipe(gulp.dest('./_site/public/css'))
.pipe(reload({stream: true}))
});
当我故意在我的 Sass 个文件中出错时,我得到了这个错误:
Error in plugin 'gulp-sass'
Message:
src/scss/components/_cover.scss
30:3 property "background-i" must be followed by a ':'
Details:
column: 3
line: 30
file: /Volumes/Boba/Work/Sites/realph/src/scss/components/_cover.scss
status: 1
messageFormatted: src/scss/components/_cover.scss
30:3 property "background-i" must be followed by a ':'
就是这样 – 它打破了任务。我必须中止 gulp 任务并从顶部重新 运行 它。
知道为什么会这样吗?任何帮助表示赞赏。提前致谢!
那是因为你运行的任务还没有结束。您需要使用 handleError
选项告诉管道工在发生错误时结束任务。这是我的管道工配置:
.pipe(plumber({
errorHandler: function(err) {
// display the error message
console.log(err);
// end the errored task
this.emit('end') }
}))
希望对您有所帮助
我不知道为什么我的 Sass 任务在我使用 gulp-水管工时中断。我的 Sass 任务如下所示:
gulp.task('sass', function() {
return gulp.src(['./src/scss/*.scss', './src/scss/**/*.scss'])
.pipe(plumber())
.pipe(sass({
includePaths : [
'./lib/basscss/scss',
'./lib/fluidbox/css'
],
outputStyle: 'expanded'
}))
.pipe(prefix({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(minifyCSS())
.pipe(gulp.dest('./_site/public/css'))
.pipe(gzip())
.pipe(gulp.dest('./_site/public/css'))
.pipe(reload({stream: true}))
});
当我故意在我的 Sass 个文件中出错时,我得到了这个错误:
Error in plugin 'gulp-sass'
Message:
src/scss/components/_cover.scss
30:3 property "background-i" must be followed by a ':'
Details:
column: 3
line: 30
file: /Volumes/Boba/Work/Sites/realph/src/scss/components/_cover.scss
status: 1
messageFormatted: src/scss/components/_cover.scss
30:3 property "background-i" must be followed by a ':'
就是这样 – 它打破了任务。我必须中止 gulp 任务并从顶部重新 运行 它。
知道为什么会这样吗?任何帮助表示赞赏。提前致谢!
那是因为你运行的任务还没有结束。您需要使用 handleError
选项告诉管道工在发生错误时结束任务。这是我的管道工配置:
.pipe(plumber({
errorHandler: function(err) {
// display the error message
console.log(err);
// end the errored task
this.emit('end') }
}))
希望对您有所帮助