Gulp-Notify Error - dest.on не является функцией - PullRequest
1 голос
/ 11 апреля 2019

Я пытаюсь использовать функцию обработки ошибок Gulp-Notify, но продолжаю получать следующую ошибку:

TypeError: dest.on is not a function

Я следую инструкциям здесь: https://www.npmjs.com/package/gulp-notify#notifyonerror но продолжайте получать ту же ошибку.

Вот мой файл:

const gulp     = require('gulp');
const rename   = require('gulp-rename');
const sass     = require('gulp-sass');
const cleancss = require('gulp-clean-css');
var plumber    = require("gulp-plumber");
var through    = require('gulp-through');
var notify     = require("gulp-notify");

gulp.task('styles', function(){
    gulp.src('builders/stylesheets/style.scss')
        .pipe(sass())
        .pipe(cleancss())
        .pipe(rename('style.min.css'))
        .pipe(gulp.dest('assets/css'))
        .pipe(notify("Saved Styles!"))
        .pipe(plumber({errorHandler: notify.onError("Error: <%= error.message %>")}))
        .pipe(through(function () {
          this.emit("error", new Error("Something happend: Error message!"))
        }));
});

Есть идеи, что бы это могло быть?

Я ценю любую помощь!

Спасибо!

Бред

1 Ответ

1 голос
/ 11 апреля 2019

Протестировал вашу задачу, и ошибка исходит от вашего through, а не от notify.

Если вы удалите этот канал, он будет работать без проблем. В сквозной документации приведен пример, но я не смог найти там сценарий использования с pipe.

gulp.task('styles', function(cb){
    gulp.src('builders/stylesheets/style.scss')
        .pipe(sass())
        .pipe(cleancss())
        .pipe(rename('style.min.css'))
        .pipe(gulp.dest('assets/css'))
        .pipe(notify("Saved Styles!"))
        .pipe(plumber({errorHandler: notify.onError("Error: <%= error.message %>")}))

    cb();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...