Задать вопрос
@vohaha

Как завершить таск в gulp 4?

Сначала была ошибка: ce78296fda.jpg
Потом добавил callback и теперь вот: f08117f13f.jpg

Таск:

'use strict';

var $ = require('gulp-load-plugins')();
var gulp = require('gulp');
// var path = require('path');
var merge = require('merge-stream');

module.exports = function(options) {

    return function(cb) {

        return $.folders('./app/images', function (folder) {

            var folderCheck = new RegExp(options.spriteFolderPrefix, 'g'),
                imgStream,
                cssStream,
                spriteStream;

            if (folder.match(folderCheck)) {

                var spriteData = gulp.src('app/images/ico-first/*.png')
                    .pipe($.spritesmith({
                        imgName: options.imgPrefix + folder + '.png',
                        cssName: options.stylesPrefix + folder + '.scss'
                    }));
                imgStream = spriteData.img
                    .pipe(gulp.dest(options.imgDest));
                cssStream = spriteData.css
                    .pipe(gulp.dest(options.stylesDest));

                spriteStream = merge(imgStream, cssStream);

                return spriteStream;
            }
            
        }, cb())(); // в консоле ошибку выдает на эту строку, начиная с последних скобок
    };

};

Вызываю так:
function lazyRequireTask(taskName, path, options) {
    options = options || {};
    options.taskName = taskName;
    gulp.task(taskName, function(callback) {
        var task = require(path).call(this, options);

        return task(callback); // в консоле ошибку выдает на эту строку, начиная с "task"
    });
}

lazyRequireTask('img:sprite', './tasks/img-sprite', {
    src: 'src'
    spriteFolderPrefix: 'ico-',
    imgPrefix: 'sprite-',
    stylesPrefix: 'sprite-',
    imgDest: 'images',
    stylesDest: 'styles'
});

Что я делаю не так?
  • Вопрос задан
  • 756 просмотров
Подписаться 1 Оценить 4 комментария
Пригласить эксперта
Ответы на вопрос 1
@abberati
frontend-разработчик
Промис, return или callback.
Подробно не объясню, сам не до конца переехал на 4ку.
Вот чудеснейший скринкаст по 4ке, там есть всё. Вот прямо таки всё, даже ответ на этот вопрос.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы