一、基础知识
// 1、path为node自带的模块 const path = require('path') // 2、当前文件路径与当前工作目录 //例如:1、 E:vue2-starter>node ../path.js(E:vue2-starter表示工作目录,E:path.js则是文件路径) // 2、 E:>node path.js(E:表示工作目录路径,E:path.js是文件路径) //3、node自带的全局变量:__dirname __filename(与工作目录无关) // index.js 位于E:\, 运行在E:下运行node index(与在E:vue2-starter运行node ../index并无不同) console.log(__dirname) // e:\,文件目录名 console.log(__filename) // e:index.js ,文件路径 //4、绝对路径, 可以用path.isAbsolute(path)进行判断 //绝对路径: ‘/app’(在windows下会在前面加上盘符)、‘C:appstate’(windows)’ //非绝对路径:‘app/state’、 ‘.’
二、path.resolve([...paths])
解释:path.resolve
简要理解:1、给定的路径序列会从右到左进行处理,后面的每个 path
会被追加到前面,直到构造出绝对路径。
2、如果在处理完所有给定的 path
片段之后还未生成绝对路径,则会在前面添加当前工作目录。
3、生成的路径会被规范化,并且尾部的斜杠会被删除(除非路径被解析为根目录)。
4、如果没有传入 path
片段,则 path.resolve()
会返回当前工作目录的绝对路径。
console.log(path.resolve('/index')) // 盘符:index
console.log(path.resolve('index')) // 当前工作目录的绝对路径/index
console.log(path.resolve('/app', 'index/')) // 盘符:appindex
console.log(path.reolve())// 当前工作目录的绝对路径
三、path.join([...paths])
解释:path.join
简要理解:1、path.join()
方法会将所有给定的 path
片段连接到一起(使用平台特定的分隔符作为定界符),然后规范化生成的路径。
path.join('/目录1', '目录2', '目录3/目录4', '目录5', '..');
// 返回: '/目录1/目录2/目录3/目录4'(windows下:盘符:录1目录2目录3目录4)