我想获得当前目录的父阵列。目前我正在做这个
function parseStructure(drive) {
let structure = [];
while (drive.length > 3) {
structure.unshift(path.basename(drive));
drive = path.dirname(drive);
}
drive = drive.substr(0, 1);
structure.unshift(drive);
return structure;
}
因为path.dirname('C:/')
返回C:/
。这可能适用于Windows,但很可能不会在Linux上运行。如何检查当前目录是否为root?
此路由C:\Users\user\SO
应返回['C', 'Users', 'user', 'SO']
数组,此路由/usr/user/SO
应返回['usr', 'user', 'SO']
数组。
答案 0 :(得分:1)
你可以尝试
path.resolve().split(path.sep);
// ['', 'home', 'myuser', 'mydir', 'my-nested-dir']
它会将目录数组打印到当前目录(process.cwd()
)
要在最开始删除多余的空字符串,可以对此数组进行切片:
path.resolve().split(path.sep).slice(1);
// ['home', 'myuser', 'mydir', 'my-nested-dir']