Path
模块提供了用于处理文件和目录路径的实用程序。
在Mac OS、Linux和window上的路径是不一样的:
-
window上
会使用\或者 \\
来作为文件路径的分隔符,当然目前也支持/
; -
Mac OS、Linux的Unix
操作系统上使用/
来作为文件路径的分隔符;
为了适应不同操作系统上路劲的差异,在开发中对于路劲的操作我们可以使用Path
模块。
更多使用方式请查阅官网Path介绍。
一、 Path
的引入
const path = require('path')
二、__dirname
获取当前文件所在文件夹的路劲
// 当前文件路劲
const currentPath = __dirname
console.log(currentPath);
// /Users/zzcm/Desktop/node
三、 Path
常见的API
path.dirname(path)
获取文件的父文件夹;
const filePath = '/user/passer/node/passer.text'
//获取文件的父文件夹
const dirPath = path.dirname(filePath)
console.log(dirPath); ///user/passer/node
path.extname(path)
获取文件扩展名;
//获取文件的扩展名
const extname = path.extname(filePath)
console.log(extname); //.text
path.extname('index.html');
// Returns: '.html'
path.extname('index.coffee.md');
// Returns: '.md'
path.extname('index.');
// Returns: '.'
path.extname('index');
// Returns: ''
path.extname('.index');
// Returns: ''
path.extname('.index.md');
// Returns: '.md'
path.basename(path[, ext])
获取文件名
//获取文件名
const baseName = path.basename(filePath)
console.log(baseName); //passer.text
path.parse(path)
其属性表示路径的重要元素
// 获取到某个文件的信息(根、父文件夹、名字包含扩展名、扩展名 ,文件名字)
const parse = path.parse('/home/user/dir/file.txt');
console.log(parse);
//输出结果
//{
// root: '/',
// dir: '/home/user/dir',
// base: 'file.txt',
// ext: '.txt',
// name: 'file'
// }
path.resolve([...paths])
将一系列路径或路径段解析为绝对路径
- 给定的路径序列从右到左进行处理,每个后续路径都预先加上前缀,直到构造出一个绝对路径。
- 如果在处理所有给定的路径段之后,尚未生成绝对路径,则使用当前工作目录。
- 生成的路径将被规范化,尾部的斜杠将被删除,除非将路径解析为根目录。
- 忽略零长度路径段。
- 如果没有传递路径段,
path.resolve()
将返回当前工作目录的绝对路径。
如果我们希望将某个文件和文件夹拼接,可以使用 path.resolve;
resolve函数会判断我们拼接的路径前面是否有 /或../或./;
如果有表示是一个绝对路径,会返回对应的拼接路径;
如果没有,那么会和当前执行文件所在的文件夹进行路径的拼接
const path1 = path.resolve('passer.txt');
const path2 =path.resolve('/passer.txt');
const path3 = path.resolve('/User/passer', 'passer.txt');
const path4 =path.resolve('User/passer', 'passer.txt');
// /Users/zzcm/Desktop/node/passer.txt
// /passer.txt
// /User/passer/passer.txt
// /Users/zzcm/Desktop/node/User/passer/passer.txt
path.join([...paths])
路劲拼接
- 使用平台特定的分隔符作为分隔符将所有给定的
path
段连接在一起,然后规范化结果路径。 - 忽略零长度路
path
。如果联接的路径字符串是零长度字符串
,则将返回“.”,表示当前工作目录。
const path5 = path.join('/user', 'passer', 'passer.txt')
console.log( path5);
//user/passer/passer.txt
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
// Returns: '/foo/bar/baz/asdf'
path.join('foo', {}, 'bar');
// Throws 'TypeError: Path must be a string. Received {}'
更多使用方式请查阅官网Path介绍。
网友评论