path 模块提供了用于处理文件和目录的路径的实用工具
以 E:\foo\bar\index.js 文件为例介绍Path的常用API
首先引入Path模块 const path=require('path')
__dirname
文件目录绝对路径
__dirname // E:\foo\bar
__filename
文件绝对路径
__pathname // E:\foo\bar\index.js
path.join([...paths])
多参数路径拼接
path.join(__dirname,"..","src") //E:\foo\src
path.join('/bbb/aaa','./test/index.js') //\bbb\aaa\test\index.js
path.resolve([...paths])
相对路径转绝对路径,类似于cmd中cd命令,对每一级path都进行cd path
处理
path.resolve(__dirname,"../") //E:\foo\src
path.resolve('/bbb/aaa','./test/index.js') //E:\bbb\aaa\test\index.js
path.resolve('/bbb/aaa','test/index.js') //E:\bbb\aaa\test\index.js
path.resolve('/bbb/aaa','/test/index.js') //E:\test\index.js
path.resolve('/bbb/aaa','..','/test/index.js') //E:\bbb\test\index.js
path.dirname(path)
返回path的目录名
path.dirname(__filename) === __dirname //true
path.extname(path)
返回文件的扩展名
path.extname('/foo/bar/baz/asdf/index.html'); //return '.html'
path.extname('/foo/bar/baz/asdf/index.'); //return '.'
path.extname('/foo/bar/baz/asdf/index'); //return ''
path.extname('.index'); //return ''
path.basename(path[,ext])
返回path的最后一部分,如果加了扩展名(区分大小写)则是剔除掉扩展名的部分
path.basename('/foo/bar/baz/asdf/index.html'); //return 'index.html'
path.basename('/foo/bar/baz/asdf/index.html','.html'); //return 'index'
path.basename('/foo/bar/baz/asdf/index.HTML','.html'); //return 'index.HTML'
path.isAbsolute(path)
判断路径是否是绝对路径
path.isAbsolute(".") //false
path.isAbsolute("/") //true
path.isAbsolute("./foo/baz") //false
path.isAbsolute("/foo/baz") //true