0

大家好

我有一个自定义错误处理程序,它应该使用 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) 消息 (toast),body ecc

真实行为

这段代码实际上不起作用,它只会在控制台中记录错误消息。不要预期的行为


配置中是否有任何错误?

4

1 回答 1

0

尝试这个。

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());
}
于 2020-03-11T13:16:41.533 回答