node.js之path常用方法

node.js之path常用方法

1.path.join([...paths])

用于将多个路径片段拼接成一个路径,会自动处理路径分隔符,避免手动拼接时可能出现的问题

复制代码
const joinedPath = path.join('folder1', 'folder2', 'file.txt');
console.log(joinedPath); 
// 输出: folder1/folder2/file.txt
2. path.resolve([...paths])

将路径或路径片段解析为绝对路径,从右到左处理路径片段,直到构建出一个绝对路径

复制代码
const resolvedPath = path.resolve('folder1', 'folder2', 'file.txt');
console.log(resolvedPath); 
// 假设当前工作目录是 /home/user,输出: /home/user/folder1/folder2/file.txt
3. path.basename(path[.ext])

返回路径的最后一部分,即文件名。可以选择性地传入文件扩展名,以去除该扩展名

复制代码
const filePath = '/home/user/folder/file.txt';
const baseName = path.basename(filePath);
console.log(baseName); 
// 输出: file.txt

const baseNameWithoutExt = path.basename(filePath, '.txt');
console.log(baseNameWithoutExt); 
// 输出: file
4.path.dirname(path)

返回路径的目录部分,即去除文件名后的路径

复制代码
const filePath = '/home/user/folder/file.txt';
const dirName = path.dirname(filePath);
console.log(dirName); 
// 输出: /home/user/folder
5.path.extname(path)

返回路径的文件扩展名,包括点号

复制代码
const filePath = '/home/user/folder/file.txt';
const extName = path.extname(filePath);
console.log(extName); 
// 输出: .txt
6. path.parse(path)

将路径解析为一个对象,包含根目录、目录、文件名、扩展名等信息

复制代码
const filePath = '/home/user/folder/file.txt';
const pathObject = path.parse(filePath);
console.log(pathObject); 
// 输出: { root: '/', dir: '/home/user/folder', base: 'file.txt', ext: '.txt', name: 'file' }
7.path.format(pathObject)

将一个路径对象转换为路径字符串,是 path.parse() 的反向操作

复制代码
const pathObject = {
    root: '/',
    dir: '/home/user/folder',
    base: 'file.txt',
    ext: '.txt',
    name: 'file'
};
const formattedPath = path.format(pathObject);
console.log(formattedPath); 
// 输出: /home/user/folder/file.txt
相关推荐
魔云连洲2 小时前
用Webpack 基础配置快速搭建项目开发环境
前端·webpack·node.js
石页玩逆向2 小时前
某企查-某度旋转验证码V2算法分析
node.js
·薯条大王3 小时前
Node.js 模块包的管理和使用是
node.js
熊猫片沃子5 小时前
使用nvm解决nodejs多版本问题,难道不香吗?
前端·npm·node.js
Mintopia5 小时前
Node.js 与前端现代工具链进阶指南
前端·javascript·node.js
孟陬7 小时前
Node.js 如何检测 script 脚本是在项目本身运行
node.js·bun
玲小珑9 小时前
5分钟学会LLM开发系列教程(五)Agent的最终形态LangGraph
langchain·node.js·ai编程
林太白10 小时前
Nest如何连接数据库
前端·后端·node.js
A-Kamen18 小时前
Webpack vs Vite:深度对比与实战示例,如何选择最佳构建工具?
前端·webpack·node.js
OpenTiny社区1 天前
Node.js技术原理分析系列7——Node.js模块加载方式分析
前端·node.js