我正在为Gulp编写插件,为了处理文件,我需要获得它的完整路径。我使用了through2包,然后准备了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));
});
};发布于 2016-02-11 17:22:51
在控制台上看到的就是File对象是如何被console.log转换成字符串的,这就是执行console.log(file)时所发生的事情。最后,调用 method并得到所看到的结果(顺便说一句,这不是XML )。
如果我使用您的代码并将其转储到控制台file.path,我将得到正确的值。file.base和file.relative也是如此。
https://stackoverflow.com/questions/35343564
复制相似问题