У меня есть задача-часы, которая проходит через массив. Строки внутри массива используются для получения разных путей к файлам для просмотра. Это линия с функцией часов. Функция on-function ищет изменения внутри этих файлов. Если есть изменение, вызывается новая функция, которая начинает скомпилировать sass-файлы.Gulp - параметр Pass для внутренней функции
function setWatchPipe(groupName) {
gulp
.watch(watchStyles[groupName])
.on('change', function(e, groupName) {
console.log(groupName);
return gulp.src(appFiles.styles.src + groupName)
.pipe($.plumber({ errorHandler: function (error) {}}))
.pipe($.rubySass({
style: sassStyle,
compass: true,
noCache: true
}))
.pipe(isProduction ? $.combineMediaQueries({ log: true }) : _.noop())
.pipe(isProduction ? $.minifyCss({ keepSpecialComments: 1 }) : _.noop())
.pipe($.plumber.stop())
.pipe(gulp.dest(paths.styles.dest))
.pipe($.size({
showFiles: true
}));
});
}
var watchArray = ['base', 'front'];
gulp.task('watch', ['build-styles'], function() {
for(var i = 0; i < watchArray.length; i++)
setWatchPipe(watchArray[i]);
});
Моя проблема заключается в параметре «groupName» внутри. Задача watch реагирует на изменения, но console.log не определен. Мне нужно получить вывод строк из массива, но я не знаю, как передать переменную в эту позицию (это необходимо для получения правильного исходного файла, который должен быть написан).
Привет, Lars
Awww maaan. Я пытался написать там только «groupName», но никогда не «e». Вот и все. Спасибо чувак! :) – Lars
Удивительный чувак :) Рад помочь. –