notification - Gulp-sass error con notificar
node notifier (4)
Después de luchar con esto yo mismo encontré que esto funcionó:
gulp.task(''styles'', function() {
return gulp.src(''src/scss/style.scss'')
.pipe(sass({
style: ''compressed'',
errLogToConsole: false,
onError: function(err) {
return notify().write(err);
}
}))
.pipe(autoprefixer(''last 2 version'', ''safari 5'', ''ie 8'', ''ie 9'', ''opera 12.1'', ''ios 6'', ''android 4''))
.pipe(gulp.dest(''''))
.pipe(livereload(server))
.pipe(notify({ message: ''Styles task complete'' }));
});
onError
detectar el error utilizando la opción onError
que proporciona gulp-sass.
¡Espero que ayude!
Me preguntaba si hay una forma de que notifique mostrar un mensaje en el error de gulp-sass. preferiblemente el mensaje real que se muestra en la consola.
mi tarea trago se ve así:
gulp.task(''styles'', function() {
return gulp.src(''src/scss/style.scss'')
.pipe(sass({ style: ''compressed'', errLogToConsole: true }))
.pipe(autoprefixer(''last 2 version'', ''safari 5'', ''ie 8'', ''ie 9'', ''opera 12.1'', ''ios 6'', ''android 4''))
.pipe(gulp.dest(''''))
.pipe(livereload(server))
.pipe(notify({ message: ''Styles task complete'' }));
});
Me gustaría canalizar la notificación a algún tipo de devolución de llamada de error.
Cualquier ayuda apreciada.
Con gulp-sass v2.0.4, esto funciona:
.pipe(sass())
.on(''error'', notify.onError(function (error) {
return ''An error occurred while compiling sass./nLook in the console for details./n'' + error;
}))
Esto también funciona:
/* Compile sass, and output error to notif */
.pipe(sass({}).on(''error'', function(err) {
return notify().write(err);
}))
Llego un poco tarde a la fiesta aquí, pero el problema que estaba teniendo era que el sass dejaría de compilar si había un error en el código y tendría que reiniciar el trago. Esto es lo que terminé haciendo:
gulp.task(''sass'', function() {
return gulp.src(''assets/scss/style.scss'')
.pipe(sass({ errLogToConsole: false, }))
.on(''error'', function(err) {
notify().write(err);
this.emit(''end'');
})
.pipe(gulp.dest(''assets/css''))
.pipe(notify({ message: ''SCSS Compiled'' }));
});
En mi caso, tuve que agregar this.emit(''end'');