Node.js核心模块-path路径

用于处理文件路径和目录路径

引入

const path = require('path')

path.extname(path)

返回扩展名。从最后一次出现 . 字符到字符串结束。

const path = require('path')
console.log(path.extname('index.html')) //'.html'
console.log(path.extname('index.coffee.md'))    //'.md'
console.log(path.extname('index.'))    //'.'
console.log(path.extname('index'))  //''
console.log(path.extname('.index')) //''  除了第一个字符以外没有.则返回空字符串

path.join([...paths])

  • ...paths :路径片段序列
  • 返回值为字符串

使用平台特定的分隔符作为定界符将所有给定的path片段连接,然后规范化生成的路径

const path = require('path')
console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux'));  //'/foo/bar/baz/asdf/quux'
console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')) ///foo/bar/baz/asdf

如果任何路径字段不是字符串,则抛出错误TypeError

const path = require('path')
console.log(path.join('/foo', {}, 'baz/asdf', 'quux'));  //TypeError The "path" argument must be of type string

path.dirname(path)

返回目录名

path.dirname('/目录1/目录2/目录3')

打印结果为'/目录1/目录2'

path.basename(path[, ext])

  • path:字符串,路径
  • ext:字符串,可选,扩展名

返回path的最后一部分。

console.log(path.basename('/目录1/目录2/文件.html'))
//文件.html
console.log(path.basename('/目录1/目录2/文件.html', '.html'))
//文件

path.parse(path)

返回一个对象,其属性表示path的有效元素。

path.parse('/目录1/目录2/文件.txt')

// { root: '/',
//   dir: '/目录1/目录2',
//   base: '文件.txt',
//   ext: '.txt',
//   name: '文件' }

path.resolve([...paths])

将路径或路径片段解析为绝对路径并返回。

给定的路径序列会从右到左处理,之后的每个path追加到前面,直到构造出绝对路径。

const path = require('path')
path.resolve('/目录1/目录2', './目录3');
// '/目录1/目录2/目录3'

path.resolve('/目录1/目录2', '/目录3/目录4/');
// '/目录3/目录4'

path.resolve('目录1', '目录2/目录3/', '../目录4/文件.gif');
// 如果当前工作目录是 /目录A/目录B,
// 则返回 '/目录A/目录B/目录1/目录2/目录4/文件.gif'

path.relative(from,to)

  • from:<string> 如果不是字符串,会抛出TypeError
  • to:<string>
  • 返回:<string> 根据当前工作目录返回from到to的相对路径。
console.log(path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb'))
//'../../impl/bbb'

path.sep

提供平台特定的路径片段分割符,windows上是'\',POSIX上是'/'

posted @ 2020-01-04 14:01  懒懒同学  阅读(309)  评论(0编辑  收藏  举报