我正在使用此readdirp npm package来读取嵌套目录中的文件。
它还可以选择过滤文件。
通过使用我添加了文件过滤器
readdirp('.', {fileFilter: '!image001.png', alwaysStat: true})
.on('data', (entry) => { const {path, stats: {size}} = entry;
console.log(${JSON.stringify({path, size})});
})
我的情况是,如果该文件image001.png存在两个或多个不同的嵌套目录,并且我不得不仅从一个位置跳过该文件,那么该如何从特定位置指定该特定文件? >
我尝试使用下面的代码,但无法正常工作,我认为readdirp在内部仅与文件名进行比较,而不是使用picomatch的路径。
readdirp('.', {fileFilter: '!D:fileuploader\NEW_TEST\image001.png',
alwaysStat: true}) .on('data', (entry) => {
const {path, stats: {size}} = entry;
console.log(`${JSON.stringify({path, size})}`);
})
有什么办法吗?
注意:我也在他们的github页面上问过这个问题,因为有人可能会遇到此问题,并且可能也已解决。
答案 0 :(得分:1)
从您共享的代码中我了解到,您只需要从当前目录中跳过一个文件。在这种情况下,您可以设置一个条件以跳过该文件而不是对其进行过滤。请检查以下代码。
readdirp('.', { alwaysStat: true}).on('data', (entry) => {
const {path, stats: {size}} = entry;
if(path!="image001.png")
console.log(JSON.stringify({path, size}));
});