我知道fs中的exists已经被弃用,但是在fs-extra中仍然可以使用。 我同时使用了fsExtra.pathExists和fsExtra.exists。 但我找不到它们之间的区别。 它们执行的操作是相同的。
这两种方法之间没有太大区别。 fs-extra是fs的超集,继承了所有它的方法,所以fsExtra.exists和fs.exists是相同的。正如您所说,它已弃用。 exists()和pathExists()之间的区别在于函数的签名。 与fs.exists类似,但具有正常的回调签名(err,exists)。 在内部,fs原生模块使用try catch块,而fs-extra使用Promise样式。它们都使用fs.access()方法来确定指定的文件是否可访问。 是的,它们都有相同的用途。
pathExists()
的回调版本添加了err
参数,而exists()
则没有。正如文档中所说,“此回调的参数与其他Node.js回调不一致”。这就是为什么它被弃用的原因。 - TGrif(err, data)
。fs.exists
只有一个参数。正如文档所述:“通常,Node.js回调的第一个参数是一个err参数,后面可以跟其他参数。fs.exists()回调只有一个布尔参数。” - TGrif