我正在使用这个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 页面中问过这个问题,我在这里问,因为有人可能遇到这个问题并且也可能修复。
最佳答案
根据您共享的代码,我了解到您只需要从当前目录中跳过一个文件。在这种情况下,您可以设置一个条件来跳过该文件而不是过滤它。请检查以下代码。
readdirp('.', { alwaysStat: true}).on('data', (entry) => {
const {path, stats: {size}} = entry;
if(path!="image001.png")
console.log(JSON.stringify({path, size}));
});
关于javascript - 使用 readdirp 过滤读取的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56679871/