一文带你了解Node.js中的path模块

Node.js和Python技术类似, 都致力于能够实现跨平台的通用代码。 为此,针对路径的拼接, Node.js提供了path模块。 该模块提供了一些方法来处理文件路径,包括路径的拼接、解析、规范化等。在本文中,田辛老师将介绍path模块中的各个常用方法,并给出实例。同时,田辛老师还将结合__dirname,提供一个综合例子。

1 path模块

1.1 path.join()

path.join()方法将多个路径拼接成一个完整的路径。它会自动处理路径分隔符,确保生成的路径在不同操作系统上都能正常使用。

const path = require('path'); 

const dir = '/path/to/dir'; 
const filename = 'file.txt'; 

const filePath = path.join(dir, filename); 
console.log(filePath); 

// 输出Linux:/path/to/dir/file.txt
// 输出Windows:\path\to\dir\file.txt

1.2 path.resolve()

path.resolve()方法将路径解析为绝对路径。它会将相对路径转换为绝对路径,并且可以处理多个参数。

const path = require('path'); 
const dir = '/path/to/dir'; 
const filename = 'file.txt'; 
const filePath = path.resolve(dir, filename); 
console.log(filePath); 
// 输出Linux:/path/to/dir/file.txt
// 输出Windows:E:\path\to\dir\file.txt

注意: path.join()方法和path.resolve()方法都是基于路径的拼装,不保证文件的存在

1.3 path.normalize()

path.normalize()方法规范化路径,去除多余的斜杠和点。它会将路径中的斜杠转换为当前操作系统的标准斜杠,并且会处理多个点和斜杠。

const path = require('path');

const dir = '/path/to/dir//';
const filename = './file.txt';

const filePath = path.normalize(dir + filename);
console.log(filePath); 
// 输出:/path/to/dir/file.txt

1.4 path.dirname()

path.dirname()方法获取路径中的目录部分。它会返回路径中最后一个斜杠之前的部分。

const path = require('path'); 
const filePath = '/path/to/dir/file.txt'; 
const dir = path.dirname(filePath); 
console.log(dir); 
// 输出:/path/to/dir

1.5 path.basename()

path.basename()方法获取路径中的文件名部分。它会返回路径中最后一个斜杠之后的部分。

const path = require('path'); 
const filePath = '/path/to/dir/file.txt'; 
const filename = path.basename(filePath); 
console.log(filename); // 输出:file.txt

1.6 path.extname()

path.extname()方法获取路径中的文件扩展名部分。它会返回路径中最后一个点之后的部分。

const path = require('path'); 
const filePath = '/path/to/dir/file.txt'; 
const extname = path.extname(filePath); 
console.log(extname); // 输出:.txt

2 __dirname变量

2.1 变量说明

__dirname变量是Node.js的一个全局变量, 它表示当前模块所在的目录的绝对路径。

console.log(__dirname); // 输出:E:\develop\node.js

2.2 __dirname 和 path.join 联合使用

const path = require('path');

const dir = path.join(__dirname, 'files');
const filename = 'file.txt';

const filePath = path.join(dir, filename);
console.log(filePath); // 输出:E:\develop\node.js\files\file.txt

在上面的例子中,田辛老师使用path.join()方法将__dirname和’files’拼接成一个目录路径,然后再将文件名拼接到目录路径中,得到完整的文件路径。这样,我们就可以方便地处理文件路径了。

作者:田辛 | 田豆芽原文地址:https://blog.csdn.net/u013589130/article/details/129678856

%s 个评论

要回复文章请先登录注册