如何判断文件系统路径是目录还是文件?

How to determine if file system path is directory or file?

我要确定文件系统路径是目录还是文件。我不想检查现有路径的类型。我正在尝试确定路径函数参数字符串是否引用目录或文件。

出现这种情况时如何区分文件和目录:

/Users/thomas/Desktop/node

以下路径可以引用目录 node 或不带扩展名的文件 node

我正在考虑使用尾随 / 来表示目录。

所以这意味着一个目录:

/Users/thomas/Desktop/node/

这意味着一个文件:

/Users/thomas/Desktop/node

但是节点的 path 方法,如 .resolve().join() 不考虑尾随 / 并始终将其删除。那么这是好的做法吗?

如果任意字符串不存在,则无法检查它是否为目录或文件。

但是对于现有路径,您可以在路径上使用 fs.stat(),这将为您提供一个对象,该对象具有检查路径类型的方法(例如 isDirectory()isFile()、等)。