Сначала была ошибка:
Потом добавил callback и теперь вот:
Таск:
'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'
});
Что я делаю не так?