path
模块是Node.js中的核心模块之一,用于处理文件路径。它提供了一组实用工具函数,用于执行与文件路径相关的操作,例如路径拼接、解析、规范化等。以下是path
模块的主要内容和使用方法的详细解释:
1. 获取路径的基本信息
-
path.basename(path[, ext])
: 返回路径的最后一部分,可以选择性地剥离文件扩展名。const path = require('path'); const filePath = '/path/to/file.txt'; console.log(path.basename(filePath)); // file.txt console.log(path.basename(filePath, '.txt')); // file
-
path.dirname(path)
: 返回路径中的目录部分。const path = require('path'); const filePath = '/path/to/file.txt'; console.log(path.dirname(filePath)); // /path/to
-
path.extname(path)
: 返回路径的文件扩展名。const path = require('path'); const filePath = '/path/to/file.txt'; console.log(path.extname(filePath)); // .txt
2. 路径拼接和解析
-
path.join([...paths])
: 将所有路径片段连接到一起,形成规范化的路径。const path = require('path'); const basePath = '/path/to'; const fileName = 'file.txt'; const fullPath = path.join(basePath, fileName); console.log(fullPath); // /path/to/file.txt
-
path.resolve([...paths])
: 将路径或路径片段解析为绝对路径。const path = require('path'); const relativePath = 'folder/file.txt'; const absolutePath = path.resolve(relativePath); console.log(absolutePath); // /current/working/directory/folder/file.txt
3. 路径规范化
-
path.normalize(path)
: 规范化给定的路径,解析 ‘…’ 和 ‘.’ 片段。const path = require('path'); const messyPath = '/path/to/../file.txt'; const normalizedPath = path.normalize(messyPath); console.log(normalizedPath); // /path/file.txt
4. 其他实用函数
-
path.isAbsolute(path)
: 判断路径是否为绝对路径。const path = require('path'); console.log(path.isAbsolute('/path/to/file.txt')); // true console.log(path.isAbsolute('relative/path/file.txt')); // false
-
path.relative(from, to)
: 返回从一个路径到另一个路径的相对路径。const path = require('path'); const fromPath = '/path/to'; const toPath = '/path/to/file.txt'; console.log(path.relative(fromPath, toPath)); // file.txt