Node - path 路径

path 常用方法

1.路径模块(path)

封装了各种路径相关的操作
和Buffer一样,NodeJS中的路径也是一个特殊的模块
不同的是Buffer模块已经添加到Global上了, 所以不需要手动导入
而Path模块没有添加到Global上, 所以使用时需要手动导入

2.获取路径的最后一部分

path.basename(path[, ext])

// let res = path.basename('/a/b/c/d/index.html');
// let res = path.basename('/a/b/c/d');
// let res = path.basename('/a/b/c/d/index.html', ".html");

3.获取路径

path.dirname(path)

// let res = path.dirname('/a/b/c/d/index.html');
// let res = path.dirname('/a/b/c/d');

4.获取扩展名称

path.extname(path)

// let res = path.extname('/a/b/c/d/index.html');
// let res = path.extname('/a/b/c/d');

5.判断是否是绝对路径

path.isAbsolute(path)

/*
注意点:
区分操作系统
在Linux操作系统中/开头就是绝对路径
在Windows操作系统中盘符开头就是绝对路径

在Linux操作系统中路径的分隔符是左斜杠 /
在Windows操作系统中路径的分隔符是右斜杠 \
*/
// let res = path.isAbsolute('/a/b/c/d/index.html'); // true
// let res = path.isAbsolute('./a/b/c/d/index.html'); // false
// let res = path.isAbsolute('c:\\a\\b\\c\\d\\index.html'); // true
// let res = path.isAbsolute('a\\b\\c\\d\\index.html'); // false

6.获取当前操作系统路径分隔符

path.delimiter (windows是\ Linux是/)

7.获取当前路径环境变量分隔符

path.sep (windows中使用; linux中使用:)

path 其他方法

  • 1.路径的格式化处理
    // path.parse() string->obj
    // path.format() obj->string
/*
path.parse(path): 用于将路径转换成对象
{
  root: '/',
  dir: '/a/b/c/d',
  base: 'index.html',
  ext: '.html',
  name: 'index'
}
path.format(pathObject): 用于将对象转换成路径
* */
/*
// let obj = path.parse("/a/b/c/d/index.html");
// console.log(obj);

let obj = {
    root: '/',
    dir: '/a/b/c/d',
    base: 'index.html',
    ext: '.html',
    name: 'index'
};
let str = path.format(obj);
console.log(str);
 */
  • 2.拼接路径
    path.join([...paths])
/*
path.join([...paths]): 用于拼接路径
注意点:
如果参数中没有添加/, 那么该方法会自动添加
如果参数中有.., 那么会自动根据前面的参数生成的路径, 去到上一级路径
* */
/*
// let str = path.join("/a/b", "c"); // /a/b/c
// let str = path.join("/a/b", "/c"); // /a/b/c
// let str = path.join("/a/b", "/c", "../"); // /a/b/c --> /a/b
// let str = path.join("/a/b", "/c", "../../"); // /a/b/c --> /a
// console.log(str);
 */
  • 3.规范化路径
    path.normalize(path)
/*
let res = path.normalize("/a//b///c////d/////index.html");
console.log(res);
*/
  • 4.计算相对路径
    path.relative(from, to)
/*
path.relative(from, to): 用于计算相对路径
第一个参数: /data/orandea/test/aaa
第二个参数: /data/orandea/impl/bbb

/data/orandea/test/aaa --> ../  --> /data/orandea/test
/data/orandea/test --> ../ --> /data/orandea
..\..\impl\bbb
* */
/*
let res = path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
console.log(res);
 */
  • 5.解析路径
    path.resolve([...paths])
/*
path.resolve([...paths]): 用于解析路径
注意点: 如果后面的参数是绝对路径, 那么前面的参数就会被忽略
* */
// let res = path.resolve('/foo/bar', './baz'); // /foo/bar/baz
// let res = path.resolve('/foo/bar', '../baz'); // /foo/baz
// let res = path.resolve('/foo/bar', '/baz'); // /baz
// console.log(res);

你可能感兴趣的:(Node - path 路径)