如何读取gulp.src流

时间:2015-08-02 18:20:06

标签: javascript gulp

我正在尝试从gulp.src(content/*.md)获得的一组文件中提取数据。

这应列出content内的所有Markdown文件。然后我想迭代一个文件路径数组,处理每个文件,返回一个存储提取信息的对象,并将其保存到.json文件。

var gulp = require("gulp"),
jsonfile = require('jsonfile'),

    gulp.task("myTask", function(){
        // Contains JS objects that contain extracted information
        // from the files; see processFile()
        var extractions = [];

        // Read from the stream???  
        gulp.src("content/*.md");

        // An array of all filepaths found by gulp.src()
        var files = [];

        for (i = 0; i < files.length; i++) {

            var information = processFile(files[i])
            // Append information-object to extractions array
            extractions.push(information);
        }

        // Save extractions as .json-file
        jsonfile.writeFile("information.json", extractions, function (err) {
            console.error(err);
        });

    });

    function processFile(content) {
        // Process each file's content one by one and return 
        //a JS-object with the extracted information.
    }

在一种方法中,我尝试使用console.log( gulp.src("content/*.md").content.toString() )输出gulp.src()返回的流中的数据,但会输出undefined

1 个答案:

答案 0 :(得分:0)

请参阅https://gulpjs.com/docs/en/api/src

gulp.src

  

返回可以通过管道传输到插件的Vinyl文件流。

它没有content属性。您应该使用节点Stream API链接提取过程。 gulp任务应返回stream.Readable