我希望这将是一件简单的事情,但是我找不到任何能够做到这一点的东西。
我只想获取给定文件夹/目录中的所有文件夹/目录。
因此,例如:
<MyFolder> |- SomeFolder |- SomeOtherFolder |- SomeFile.txt |- SomeOtherFile.txt |- x-directory
我希望得到一个数组:
["SomeFolder", "SomeOtherFolder", "x-directory"]
或者上面的路径,如果那是它的服务方式…
那么已经有什么可以做以上的事情吗?
这是此答案的较短的同步版本,它可以列出当前目录中的所有目录(是否隐藏):
const { lstatSync, readdirSync } = require('fs') const { join } = require('path') const isDirectory = source => lstatSync(source).isDirectory() const getDirectories = source => readdirSync(source).map(name => join(source, name)).filter(isDirectory)
节点10.10.0+的更新
我们可以使用的新withFileTypes选项readdirSync来跳过额外的lstatSync通话:
withFileTypes
readdirSync
lstatSync
const { readdirSync } = require('fs') const getDirectories = source => readdirSync(source, { withFileTypes: true }) .filter(dirent => dirent.isDirectory()) .map(dirent => dirent.name)