You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js中无需额外依赖,如何分离文件名与目录路径?

Node.js 原生分离文件路径与文件名的方法

完全不需要额外依赖!Node.js 内置的 path 核心模块就是干这个的,比自己写正则或者装第三方包靠谱多了,还能跨平台兼容不同系统的路径格式(比如Windows的\和类Unix的/)。

下面给你几个常用的实现方式:

1. 分别获取目录路径和文件名

用 path.dirname() 拿目录,path.basename() 拿文件名,直接对应你想要的效果:

// 引入核心path模块,不用npm装任何东西
const path = require('path');

const fullPath = 'src/main/css/file.css';

// 提取目录路径
const dirPath = path.dirname(fullPath);
console.log(dirPath); // 输出: src/main/css

// 提取带扩展名的文件名
const fileName = path.basename(fullPath);
console.log(fileName); // 输出: file.css

如果需要不带扩展名的文件名,还可以给basename加第二个参数指定扩展名:

const fileNameWithoutExt = path.basename(fullPath, '.css');
console.log(fileNameWithoutExt); // 输出: file

2. 一次性获取所有路径信息

用 path.parse() 可以直接得到一个包含所有路径细节的对象,想用哪个属性就取哪个,非常灵活:

const pathInfo = path.parse(fullPath);
console.log(pathInfo);
// 输出结果:
// {
//   root: '',
//   dir: 'src/main/css',
//   base: 'file.css',
//   ext: '.css',
//   name: 'file'
// }

之后你就可以通过 pathInfo.dir 拿到目录,pathInfo.base 拿到带扩展名的文件名,pathInfo.name 拿到纯文件名。

这些方法都是Node.js官方维护的,稳定性和兼容性拉满,完全没必要用第三方包~

内容的提问来源于stack exchange,提问作者Ole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:10:53