【问题标题】:Gulp for loop not iterating [duplicate]Gulp for循环不迭代[重复]
【发布时间】:2014-06-28 12:31:51
【问题描述】:

我正在开发一个新的 gulp 构建过程,由于某种原因我无法让它循环,它运行得非常好,但它只生成第一个 less 文件,因此它永远不会迭代。

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!"));
    }
});

【问题讨论】:

    标签: javascript arrays node.js gulp


    【解决方案1】:

    return 将从整个任务中返回,因此循环只会经过 1 次迭代。

    在更改文件数组以包含您的 lessDir 后,最好在 gulp.src 中指定文件,例如 gulp.src(files)。然后让 gulp 的 .pipe 通过它的管道发送每个文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-12
      • 2016-10-20
      • 2013-10-15
      • 1970-01-01
      • 2021-08-18
      相关资源
      最近更新 更多