import url from 'url'
import path from 'path'
//file:// 的使用场景: 1.跨平台兼容性 2.url相关的操作
console.log('当前文件的url格式路径:', import.meta.url) // file:///d:/workspace/node/demo/demo.js
let __filename = url.fileURLToPath(import.meta.url)
console.log('当前文件的路径:', __filename) // d:\workspace\node\demo\demo.js
let __dirname = path.dirname(__filename)
console.log('当前文件所在目录的路径:', __dirname) //d:\workspace\node\demo
let basename = path.basename(__filename) // demo.js
console.log('文件名:', basename)
let extname = path.extname(__filename) // .js
console.log('扩展名:', extname)
/*
pathObj: {
root: 'd:\\', // 根目录 ( 在 Linux 上是 /, 在 Windows 上是盘符 d:\\ )
dir: 'd:\\workspace\\node\\demo', //目录路径
base: 'demo.js', //文件名
ext: '.js', //扩展名
name: 'demo' //文件名(不包含扩展名)
}
*/
let pathObj = path.parse(__filename) //路径解析
console.log('pathObj:', pathObj)
//错误示例
console.log('错误示例:', __dirname + "/DR.jpg") // d:\workspace\node\demo/DR.jpg
//path.join 路径拼接
let pathJoin = path.join(__dirname,"/DR.jpg") // d:\workspace\node\demo\DR.jpg
console.log('pathJoin:', pathJoin)
//path.resolve 会解析路径中的 ../(上级目录) ./(当前目录) /(根目录)
let pathResolve = path.resolve(__dirname,"/DR.jpg") // d:\DR.jpg
console.log('pathResolve:', pathResolve)
//分隔符
console.log('分隔符:', path.sep) // 在 Linux 上是 /(正斜杠), 在 Windows 上是 \(反斜杠)
6.path模块
-- 未经授权禁止转载 --