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上是'/'