用Node.js获取文件名(带或不带扩展名)的实例指南

6,057 阅读1分钟

Node.js可以从一个给定的路径中提取一个文件名。该路径可以是一个绝对路径或相对路径。然后你可以让Node.js进行解析并返回文件路径。

获取带有扩展名的文件名

你可以使用Node.js的path 模块从一个给定的路径中检索文件名。path 模块是Node.js运行时附带的。

使用Path.basename 方法检索文件名。该方法从文件路径中返回尾部的名称组件,包括文件扩展名。例如,它从路径/home/user/avatar.png ,返回avatar.png

import Path from 'path'

const filename = Path.basename('/home/user/avatar.png')  
// 'avatar.png'

获取无扩展名的文件名

有时你想检索没有扩展名的文件名。你可以使用内置的Node.jspath 模块来做这个。你可以使用Path.parse 方法将一个给定的文件路径解析为各个部分。然后,检索出不含扩展名的文件name

import Path from 'path'

const filename = Path.parse('/home/user/avatar.png').name  
// 'avatar'

使用@supercharge/fs包

我是@supercharge/fs软件包的维护者,提供方便的文件系统工具。@supercharge/fs 包中有一些方便的方法来检索文件名:

  • Fs.basename(path):返回带有扩展名文件名
  • Fs.basename(path):返回不带扩展名的文件名

下面是关于如何使用这两个函数的示例代码:

import Fs from '@supercharge/fs'

Fs.basename('/home/user/avatar.png')  
// 'avatar.png'

Fs.filename('/home/user/avatar.png')  
// 'avatar'

就是这样!