如何在一个 gulp 任务中创建多个文件

wen*_*mva 3 node.js gulp

我有一个代表生成的文件及其内容的数组,

[{name: "src/js/file1.js",content: "some js content"},
 {name: "src/file2.html",content: "some html content"},
 {name: "src/css/file3.css",content: "some css content"}]
Run Code Online (Sandbox Code Playgroud)

文件系统上尚不存在这些文件,如何将它们插入 gulp 管道中,以便在释放任何其他 gulp 任务之前创建它们?我看过 gulp-foreach 和 gulp-file 但我不知道如何将它们粘在一起并使其工作。任何帮助将非常感激。

wen*_*mva 5

这是我采用的解决方案......这有点黑客,但嘿它有效!请提出所有改进建议。喜欢的话就给我投个票吧谢谢!

var gulp = require("gulp");
var foreach = require("gulp-foreach");
var file = require("gulp-file");
var addsrc = require('gulp-add-src');
var files = [{name: "src/js/file1.js",content: "some js content"},
             {name: "src/file2.html",content: "some html content"},
             {name: "src/css/file3.css",content: "some css content"}];

gulp.task("default", function() {   
    return gulp.src("./dummy.txt", {base: "./.build"})
    .pipe(foreach(function(stream, f){
        files.forEach(function(gfile){
            stream
                .pipe(file(gfile.name, gfile.content))
                .pipe(gulp.dest("./"));
        });
        return stream;
    }))
    .pipe(addsrc(["./.build/**/*", "!./dummy.txt"]))
    .pipe(gulp.dest("./app"));
}
Run Code Online (Sandbox Code Playgroud)