用fs获取父母链

时间:2017-05-29 13:40:33

标签: node.js

我想获得当前目录的父阵列。目前我正在做这个

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']数组。

1 个答案:

答案 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']