Мой плагин gulp с помощью through2 возвращает файл в странном XML-подобном формате

Я пишу плагин для Gulp, и для обработки файла мне нужно получить его полный путь. Я использовал через пакет 2, затем подготовил processFile(file) функция, но в качестве аргумента от through2 он получает файл в странном XML-подобном формате вместо объекта типа file.path, file.encoding и так далее.

Как я могу получить file.path, когда through2 возвращает каждый файл в следующем формате:

<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));
  });
};

1 ответ

Решение

То, что вы получаете на консоли, просто как File объекты превращаются в строки console.log, что происходит при выполнении console.log(file), В конечном итоге, inspect Метод вызывается, и вы получаете результаты, которые вы видите (кстати, это не XML).

Если я использую ваш код и дампа в консоль file.pathЯ получаю правильные значения. То же самое с file.base а также file.relative,

Другие вопросы по тегам