1. path模块介绍
Node.js中的path模块是一个十分重要的模块,它提供了很多操作文件、目录路径的方法,我们可以用path.join()方法来连接路径段,用path.resolve()方法来创建绝对路径,用path.dirname()方法来获取文件所在的目录路径,用path.basename()方法来获取文件名等等。这些方法应用广泛,让我们在进行文件操作时更加方便和快捷。接下来,我们将着重讲解path模块中一些常用的API方法。
2. path.join()
path.join()方法主要是用于将字符串路径进行连接,得到统一的路径格式。在连接过程中,会先将路径中多余的分隔符(/或\)处理掉,然后再进行路径的拼接。它的一个优点是,在不同的操作系统中,路径分隔符不一样,path.join()
方法能根据当前操作系统自动判断使用哪种类型的路径分隔符。
2.1 用法介绍
path.join()
方法接受多个参数,可以是字符串、变量或表达式,返回合并后的文件路径。
const path = require('path');
const dir = '/usr/local';
const file = 'test.txt';
const filePath = path.join(dir, file);
console.log(filePath); // 输出: \usr\local\test.txt
如上述代码,path.join()
方法将会将路径中多余的分隔符(\或/)处理掉,然后将参数拼接形成一个新的路径字符串,即‘/usr/local/test.txt’。
2.2 使用注意事项
在使用path.join()
方法时,需要注意以下几点:
如果路径的第一个参数以斜杠(/)开头,则path.join()
会忽略前面所有的参数,直接以当前的参数返回。
如果当前参数为null
或undefined,则path.join()
会忽略该参数,不会进行处理。
如果当前参数不是字符串类型,则path.join()
会抛出异常。
3. path.resolve()
path.resolve()
方法主要是用于将相对路径转化为绝对路径,返回一个标准化之后的绝对路径字符串,在路径转化过程中,会将相对路径转化为当前工作目录下的绝对路径。
3.1 用法介绍
path.resolve()
方法接收多个字符串参数,表示当前工作目录的路径和要解析的相对路径等,返回一个标准化之后的绝对路径字符串。
const path = require('path');
const filePath = './public/index.html';
const absPath = path.resolve(filePath);
console.log(absPath); // 输出:\Users\用户名\Desktop\项目名称\public\index.html
如上述代码,path.resolve()
方法将相对路径'./public/index.html'转化为当前工作目录下的绝对路径,即'C:\Users\用户名\Desktop\项目名称\public\index.html'。
3.2 使用注意事项
在使用path.resolve()
方法时,需要注意以下几点:
如果传入的路径为绝对路径,则返回原路径。
如果传入的路径为相对路径,则将相对路径转化为绝对路径。
如果传入的路径为空,则返回当前工作目录的绝对路径。
如果传入的参数不是字符串,则会转化为字符串处理。
4. path.extname()
path.extname()
方法主要是用于获取文件扩展名,返回文件名中最后一个'.'字符(如果有)的后缀字符串,包含'.'在内,如果没有'.'则返回空字符串。
4.1 用法介绍
path.extname()
方法接收一个参数表示文件路径,返回其扩展名。
const path = require('path');
const file1 = 'index.html';
const file2 = 'index.html.js';
const ext1 = path.extname(file1);
const ext2 = path.extname(file2);
console.log(ext1); // 输出:.html
console.log(ext2); // 输出:.js
如上述代码,path.extname()
方法用于获取文件的扩展名,如果有'.'则返回扩展名,如果没有'.'则返回空字符串。
4.2 使用注意事项
在使用path.extname()
方法时,需要注意以下几点:
如果传入的路径为空,则返回空字符串。
如果传入的路径没有'.',则返回空字符串。
5. 总结
本文详细介绍了Node.js中path路径模块的三个常用API方法:path.join()
、path.resolve()
和path.extname()
。其中path.join()
方法主要是用于将字符串路径进行连接,得到统一的路径格式;path.resolve()
方法主要是用于将相对路径转化为绝对路径,返回一个标准化之后的绝对路径字符串;path.extname()
方法主要是用于获取文件扩展名,返回文件名中最后一个'.'字符(如果有)的后缀字符串。