我的 gulp 插件带有 through2 returns 格式的奇怪 XML 文件

My gulp plugin with through2 returns file in strange XML-like format

我正在为 Gulp 编写插件,为了处理文件,我需要获取它的完整路径。我使用了 through2 包,然后准备了 processFile(file) 函数,但是作为 through2 的一个参数,它接收了奇怪的 XML 格式的文件,而不是 file.pathfile.encoding 等对象上。

当 through2 以下列格式返回每个文件时,我如何接收 file.path:

<File "relative/path/to/file/aaa.js" ...

完整代码:

var through = require('through2');

module.exports = function() {
  return through.obj(function(file, encoding, callback) {

    function processFile(file){
      console.log(file); // returns <File "relative/path/to/file/aaa.js" ...
    }

    callback(null, processFile(file));
  });
};

你在控制台上得到的只是 File 对象如何被 console.log 变成字符串,这就是你执行 console.log(file) 时发生的事情。最终,inspect method 被调用并且您得到了您看到的结果(顺便说一下,这不是 XML)。

如果我使用您的代码并转储到控制台 file.path,我会得到正确的值。与 file.basefile.relative.

相同