1

我正在为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));
  });
};
4

1 回答 1

1

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

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

于 2016-02-11T17:22:51.800 回答