Node.js 中的文件系统与路径模块

File System vs. Path module in Node.js

Node.js这两个模块的用途和区别是什么?一个依赖另一个吗?

What are the purposes and differences between these two modules in Node.js?

fs 模块用于实际操作文件、目录和卷(假设您已经为目标构建了适当的路径)。 path 模块用于操作路径,然后您可以将其与 fs 模块一起使用,因为许多 fs 方法接受路径作为参数。

fs 模块包含用于操作文件的函数,例如:

fs.readFile()
fs.mkdir()
fs.open()
fs.stat()

等...

path 模块包含用于操作文件路径的函数,例如:

path.join()
path.normalize()
path.extname()
path.parse()

您可以自己阅读每个模块中的完整功能列表:

fs module

path module

描述应该非常清楚他们的作用。

Does one depend on the other?

可能不会。 fs 模块假定您已经有一个可以直接传递到 OS 的有效路径。 path 模块仅构建或解析路径,实际上并不对文件进行操作。

两者一起使用会很常见。例如,您可以使用 path 模块构造一个路径,然后将其传递给 fs 模块函数。

Path 模块实际上用于从多个块构建有效路径,这些块在您的文件系统中永远不会验证,或者您可以说 drives/volumes 并以字符串形式为您提供绝对路径。比方说,您有驱动器、文件到该特定驱动器的相对路径、文件名和扩展名。在这种情况下,您可以通过组合来构造一个有效的文件名。

FS 模块用于操作文件系统。比如创建目录、文件、重命名等...