notifier notification node error cannot sass notify gulp

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