Уведомление ОС в gulp-notify не работает - PullRequest
0 голосов
/ 10 марта 2020

Привет всем

У меня есть собственный обработчик ошибок, который должен показывать уведомление с gulp-notify, а затем регистрировать его в консоли при сбое sass-компилятора .

var errorHandler = function(error) {
    notify.onError({
        title: 'Task Failed [' + error.plugin + ']',
        message: 'Sass ha ricontrato un errore',
        sound: true
    })(error);
    this.emit('end');
    notify("Files has an error");
    return notify().write(error);
};

function scss() {
    return src("product-template/Product Template/assets/styles/scss/**/*.scss")
        .pipe(sourcemaps.init())
        .pipe(sass())
        .on("error", errorHandler)
        .pipe(prefix(/*{grid: "no-autoplace"}*/))
        .pipe(sourcemaps.write("./"))
        .pipe(dest("./product-template/Product Template/assets/styles/css/"))
        .pipe(browserSync.stream());
}

Ожидаемое поведение

Этот фрагмент кода должен, когда sass имеет ошибку, показать уведомление Os (windows) (тост) с заголовком, тело e cc

Реальное поведение

Кусок кода на самом деле не работает, он только регистрирует сообщение об ошибке в консоли. Не ожидаемое поведение


есть ли ошибки в конфигурации?

1 Ответ

0 голосов
/ 11 марта 2020

Попробуйте это.

function scss() {
    return src("product-template/Product Template/assets/styles/scss/**/*.scss")
        .pipe(sourcemaps.init())
        .pipe(sass())
        .on("error", function(error) {
            notify.onError({
                title: 'Task Failed [' + error.plugin + ']',
                message: 'Sass ha ricontrato un errore',
                sound: true
            })(error);
            this.emit('end');
            notify("Files has an error");
            return notify().write(error);
        })
        .pipe(prefix(/*{grid: "no-autoplace"}*/))
        .pipe(sourcemaps.write("./"))
        .pipe(dest("./product-template/Product Template/assets/styles/css/"))
        .pipe(browserSync.stream());
}
...