Javascript 使用through从gulp任务写入输出文件

Javascript 使用through从gulp任务写入输出文件,javascript,gulp,Javascript,Gulp,一般来说,我对gulp和JS都是新手。但我有一个用于验证文件的gulp文件。任务是由其他人编写的,并且工作正常。现在,我需要Progator的输出来根据解析后的结构构建一个文件,但我不知道应该在脚本中的何处获取它。此外,通过的软件包使我更难理解 要将函数protagor.parse()的结果从gulp中写入文件,我需要做什么 吞咽文件 var through = require('through2'); var protagonist = require('protagonist'); gul

一般来说,我对gulp和JS都是新手。但我有一个用于验证文件的gulp文件。任务是由其他人编写的,并且工作正常。现在,我需要Progator的输出来根据解析后的结构构建一个文件,但我不知道应该在脚本中的何处获取它。此外,通过的软件包使我更难理解

要将函数
protagor.parse()
的结果从gulp中写入文件,我需要做什么

吞咽文件

var through = require('through2');
var protagonist = require('protagonist');

gulp.task('protagonist', function () {
    gulp.src(paths.build_blueprint)
        .pipe(gulpProtagonist({type: 'ast'}))
        .on('error', gutil.log);
});

function gulpProtagonist(options) {
    return through.obj(function (file, enc, cb) {

        protagonist.parse(file.contents.toString(), {type: options.type}, function (error, result) {
            if (error) {
                return cb(new PluginError('gulp-protagonist', error));
            }

            try {
                if (result['warnings'].length > 0) {
                    var msgs = result['warnings'].map(buildWarningMsg);
                    var args = ['error'].concat(msgs.map(genError));
                    self.emit.apply(self, args);
                }

                cb(null, file);
            } catch (e) {
                cb(new PluginError('gulp-protagonist', e));
            }
        });
    });
}

你为什么不使用?@svenschoenng这是一个很好的建议。你为什么不使用?@svenschoenng这是一个很好的建议。