如何在 Node.js 中获取文件的扩展名

要在 [Node.js](/w/node) 中获取文件的扩展名,我们可以使用 path 模块中的 extname() 方法。

const path = require('path');
path.extname('style.css') // .css
path.extname('image.png') // .png
path.extname('prettier.config.js') // .js

extname() 方法

extname() 方法从最后一次出现 . (句点)字符到路径最后部分的字符串末尾。

如果没有 . 在路径的最后一部分,或者如果路径以 . 它是唯一的。 路径中的字符,extname() 返回一个空字符串。

path.extname('index.'); // .
path.extname('index'); // '' (empty string)
path.extname('.index');   // '' (empty string)
path.extname('.index.html'); // .html

如果路径不是字符串,则 extname() 会抛出 TypeError

const path = require('path');
// ❌ TypeError: Received type number instead of string
path.extname(123);
// ❌ TypeError: Received type boolean instead of string
path.extname(false);
// ❌ TypeError: Received URL instance instead of string
path.extname(new URL('https://example.com/file.txt'));
// ✅ Received type of string
path.extname('package.json'); // .json