代码:
/** @param extend 要带有'.'*/
async function getFileInDir(dirPath: string, extend?: string, isDeep: boolean = true): Promise<string[]> {
let filePath: string[] = [];
for (const item of await readdir(dirPath, { withFileTypes: true })) {
if (item.isFile()) {
if (extend && path.extname(item.name).toLowerCase() !== extend.toLowerCase()) continue;
filePath.push(path.join(dirPath, item.name));
}
else if (isDeep) {
filePath.push(...await this.getFileInDir(path.join(dirPath, item.name), extend));
}
}
return filePath;
}