Node4--path

Path模块没有添加到Global上, 所以使用时需要手动导入

1.模块导入 let path = require("path");
2.获取路径的最后一部分 path.basename(path[, ext])
3.获取路径 path.dirname(path)
4.获取扩展名称 path.extname(path)
5.判断是否是绝对路径path.isAbsolute(path)
6.获取当前操作系统路径分隔符 path.delimiter  (windows是\ Linux是/)
7.获取当前路径环境变量分隔符 path.sep  (windows中使用; linux中使用:)
8.路径的格式化处理  path.parse()  string->obj   path.format() obj->string
9.拼接路径 path.join([...paths])
10.规范化路径 path.normalize(path)
11.计算相对路径 path.relative(from, to)
12.解析路径 path.resolve([...paths])

练习:

let path = require('path');

// basename用于获取路径的最后一个组成部分
console.log(path.basename('/a/b/c/d/index.html'));//index.html
console.log(path.basename('/a/b/c/d'));//d
console.log(path.basename('/a/b/c/d/index.html','.html'));//index

// dirname用于获取路径中的目录, 也就是除了最后一个部分以外的内容
console.log(path.dirname('/a/b/c/d/index.html'));///a/b/c/d

// extname用于获取路径中最后一个组成部分的扩展名
console.log(path.extname('/a/b/c/d/index.html'));//.html
console.log(path.extname('/a/b/c/d'));//没有扩展名 输出为空

/*
isAbsolute用于判断路径是否是一个绝对路径
注意点:
区分操作系统
在Linux操作系统中/开头就是绝对路径
在Windows操作系统中盘符开头就是绝对路径

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


// path.sep用于获取当前操作系统中路径的分隔符的
// 如果是在Linux操作系统中运行那么获取到的是 左斜杠 /
// 如果是在Windows操作系统中运行那么获取到的是 右斜杠 \
console.log(path.sep); // 输出是 \

// path.delimiter用于获取当前操作系统环境变量的分隔符的
// 如果是在Linux操作系统中运行那么获取到的是 :
// 如果是在Windows操作系统中运行那么获取到的是 ;
console.log(path.delimiter); //输出是 ;

let path = require('path');

//path.parse(path): 用于将路径转换成对象
console.log(path.parse('/a/b/c/d/index.html'));

/*
输出的对象是:
{ root: '/',
  dir: '/a/b/c/d',
  base: 'index.html',
  ext: '.html',
  name: 'index' }
 */

//path.format(pathObject): 用于将对象转换成路径

let obj={ root: '/',
    dir: '/a/b/c/d',
    base: 'index.html',
    ext: '.html',
    name: 'index' };
console.log(path.format(obj));///a/b/c/d\index.html

//path.join([...paths]): 用于拼接路径

//如果参数中没有添加/, 那么该方法会自动添加
console.log(path.join('/a/b','c'));//\a\b\c
console.log(path.join('/a/b','/c'));//\a\b\c

//如果参数中有.., 那么会自动根据前面的参数生成的路径, 去到上一级路径
console.log(path.join("/a/b", "/c", "../"));//\a\b\
console.log(path.join("/a/b", "/c", "../../"));//\a\

//path.normalize(path): 用于规范化路径
console.log(path.normalize("/a//b///c////d/////index.html"));//\a\b\c\d\index.html

//path.relative(from, to): 用于计算相对路径
console.log(path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb'));
//..\..\impl\bbb

//path.resolve([...paths]): 用于解析路径
//如果后面的参数是绝对路径, 那么前面的参数就会被忽略
console.log(path.resolve('/foo/bar', './baz'));//C:\foo\bar\baz
console.log(path.resolve('/foo/bar', '../baz'));//:\foo\baz
console.log(path.resolve('/foo/bar','/baz'));//C:\baz


发布了119 篇原创文章 · 获赞 1 · 访问量 3955

猜你喜欢

转载自blog.csdn.net/weixin_42139212/article/details/103767661