【问题标题】:How to create multiple files in one gulp task如何在一个 gulp 任务中创建多个文件
【发布时间】:2015-10-10 13:45:04
【问题描述】:

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

[{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 管道,以便在任何其他 gulp 任务松散之前创建它们?我查看了 gulp-foreach 和 gulp-file 但我不知道如何将它们粘在一起并使其工作。任何帮助将不胜感激。

【问题讨论】:

    标签: node.js gulp


    【解决方案1】:

    这是我采用的解决方案……这有点骇人听闻,但它确实有效!请提出任何和所有改进。如果你喜欢它,请投票给我,谢谢!

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-19
      • 1970-01-01
      • 2022-08-19
      相关资源
      最近更新 更多