快速上手 - path 目录模块

  • 作者:KK

  • 发表日期:2017.11.10


path模块是一个用于处理目录路径的模块,可直接复制以下代码进行测试:

var path = require('path');


//返回路径中的目录部分
console.log(
	path.dirname('D:/ProgramFiles/office')
);
// D:/ProgramFiles


//返回最后一段的文件名或目录名
console.log(
	path.basename('D:/ProgramFiles/office')
);
// office


//返回后缀名,前面带.号
console.log(
	path.extname('D:/a/b/c.txt'), //  .txt
	path.extname('b/c/d.js')  //  .js
);


//规范化路径
console.log(
	path.normalize('D:/a/b/../c')
);
// D:/a/c


//返回从from位置到to位置的绝对路径,并且这个路径的目录分隔符是平台的分隔符,比如 windows 是\ ,linux是 /
let from = 'D:/a/b',
	to = '../c/d';
console.log( path.resolve(from, to) ); // D:\a\c\d
/*本质上这个命令其实等于不断地执行cd命令然后查看了当前路径:
cd D:/a/b
cd ../c/d
echo %cd%     //windows的
pwd			  //linux的
*/

console.log(
	path.resolve(from, '../c/d/e.txt')
);
// D:\a\c\d\e.txt    to参数可以指向一个文件


//判断是否绝对路径并且存在
console.log(
	path.isAbsolute('a/b.txt'),	// false
	path.isAbsolute('D:/a/b.txt') // true
);



//将一个字符串路径解析成一个结构化的对象
console.log(
	path.parse('D:/a/b')
);
// { root: 'D:/', dir: 'D:/a', base: 'b', ext: '', name: 'b' }


//与parse相反,将结构化的路径对象转化成字符串路径
console.log(
	path.format({ root: 'D:/', dir: 'D:/a', base: 'b', ext: '', name: 'b' })
);
// D:/a/b