ReferenceError:写入管道式gulp脚本时未定义数据

ReferenceError:写入管道式gulp脚本时未定义数据,gulp,Gulp,我知道src返回一个流,管道获取该流并返回一个流,但是如何将该流馈送到称为管道内部的pipedffunction?我不确定它是如何工作的。我得到以下错误: ReferenceError:未定义数据 我对gulp脚本有什么误解吗?基本上,您将数据定义为一个局部范围级别的变量,并尝试从另一个范围访问它,其中未定义。因此,您需要利用数据被返回并传递的事实,如: gulp.task('default', function(done) { inquirer.prompt([{

我知道src返回一个流,管道获取该流并返回一个流,但是如何将该流馈送到称为管道内部的
pipedffunction
?我不确定它是如何工作的。我得到以下错误:

ReferenceError:未定义数据


我对gulp脚本有什么误解吗?

基本上,您将
数据定义为一个局部范围级别的变量,并尝试从另一个范围访问它,其中
未定义。因此,您需要利用
数据
被返回并传递的事实,如:

  gulp.task('default', function(done) {
    inquirer.prompt([{
        type: `input`,
        message: `Enter the path`,
        default: `./admin/admin.json`,
        name: `path`
    }]).then(function(answers) {
      console.log(answers.path);
      console.log('answers');
      mydefaultTaskTwo(null, answers.path).pipe(pipedFunction());
      done();
    })

  });

  function mydefaultTaskTwo(cb, path) {
    let data = '';

    try {
      data = fs.readFileSync(path, 'utf-8');
    } catch (e) {
      console.log(`Error: ${e}`);
    }
    return data;

  }

  function pipedFunction() {
    let object = JSON.parse(data);
    object['main'] = 'admin';
    data = JSON.stringify(object);

    const readable = Readable.from(data)
    return readable;
  }
var data = mydefaultTaskTwo(null, answers.path);
data.pipe(pipedFunction(data));