我正在开发一个新的gulp构建过程,由于某些原因我不能让它循环,它运行得很好,但它只生成第一个较少的文件,所以它永远不会迭代。
var files = ['style.less', 'core.less', 'theme.less']
gulp.task('build', function () {
for (var i = 0; i < files.length; i++) {
return gulp.src(lessDir + files[i])
.pipe(plumber({
errorHandler: onError
}))
.pipe(less()).pipe(notify(files[i] + " Rendered!"))
.pipe(csscomb()).pipe(notify(files[i] + " Sorted!"))
.pipe(cssbeautify({
indent: ' ',
autosemicolon: true
})).pipe(notify(files[i] + " Spaced!"))
.pipe(gulp.dest(cssDir))
.pipe(minifyCSS({
keepBreaks: false,
processImport: true,
noAdvanced: false
}))
.pipe(gulp.dest(cssminDir)).pipe(notify(files[i] + " Minified!"));
}
});
答案 0 :(得分:2)
return
将从整个任务返回,因此循环将只进行1次迭代。
更改文件数组以包含lessDir后,最好在gulp.src中指定文件,如gulp.src(files)
。然后让gulp的.pipe
通过其管道发送每个文件。