📅  最后修改于: 2023-12-03 14:49:12.719000             🧑  作者: Mango
在 Node.js 中,文件路径是一个非常重要的概念。在使用 Node.js 进行文件处理的过程中,我们需要知道如何读取、写入、复制、移动或删除文件。而路径就是让我们定位文件的工具之一。
在计算机中,文件路径是用于定位文件的字符串。通过指定文件路径,我们可以访问并处理系统中的文件。
在 Windows 操作系统中,文件路径是被反斜杠 \
分隔的字符串,例如:
C:\Users\UserName\Desktop\example.txt
在 Unix/Linux 操作系统中,文件路径是被正斜杠 /
分隔的字符串,例如:
/home/username/example.txt
在 Node.js 中,有两种类型的文件路径:绝对路径和相对路径。
在 Node.js 中,绝对路径是从文件系统的根目录开始的路径。在 Windows 操作系统中,根目录是 C:\
。在 Unix/Linux 操作系统中,根目录是 /
。
对于绝对路径,可以在路径的开头使用 /
或者 <盘符>:
来表示。例如:
// Unix/Linux 操作系统
/var/www/html/index.html
// Windows 操作系统
C:/Users/UserName/Desktop/example.txt
在 Node.js 中,相对路径是相对于当前文件所在的目录的路径。相对路径可以是一个文件夹,也可以是一个文件。
如果当前文件所在的目录是 /var/www/html
,那么以下路径都是有效的相对路径:
../index.html
./images/
./css/style.css
其中:
../
表示上一级目录;./
表示当前目录;Node.js 中还定义了一些特殊的常量,用于简化文件路径的处理。
__dirname
:表示当前模块所在的目录的绝对路径。__filename
:表示当前模块的绝对路径。例如:
console.log(__dirname); // /var/www/html
console.log(__filename); // /var/www/html/index.js
在 Node.js 中,我们可以使用 path
模块进行路径的处理。该模块提供了一些常用的方法:
path.normalize()
:将给定的路径规范化为标准路径,去掉多余的部分,并将斜杠转换为正确的分隔符。path.join()
:将多个路径拼接为一个路径。path.resolve()
:将多个路径拼接为一个绝对路径。path.dirname()
:返回路径中的目录名。path.basename()
:返回路径中的文件名。path.extname()
:返回路径中的扩展名。例如:
const path = require('path');
const filePath = '/var/www/html/example.txt';
// 规范化路径
const normalizedPath = path.normalize(filePath);
console.log(normalizedPath); // /var/www/html/example.txt
// 路径拼接
const joinedPath = path.join('/var/www/html', 'example.txt');
console.log(joinedPath); // /var/www/html/example.txt
// 绝对路径拼接
const resolvedPath = path.resolve('/var/www/html', 'example.txt');
console.log(resolvedPath); // /var/www/html/example.txt
// 获取目录名
const dirName = path.dirname(filePath);
console.log(dirName); // /var/www/html
// 获取文件名
const baseName = path.basename(filePath);
console.log(baseName); // example.txt
// 获取扩展名
const extName = path.extname(filePath);
console.log(extName); // .txt
在 Node.js 中,文件路径是用于定位文件的工具之一。通过路径,我们可以访问并处理系统中的文件。Node.js 中定义了两种文件路径:绝对路径和相对路径。我们可以使用 path
模块进行路径的处理,并使用特殊的常量 __dirname
和 __filename
来简化文件路径的处理。