我已经阅读了Node.js的文档,除非我错过了一些内容,否则它不会告诉某些操作(特别是)中包含哪些参数fs.mkdir()
。正如您在文档中看到的那样,它不是很多。
当前,我有以下代码,该代码尝试创建一个文件夹或使用现有的文件夹:
fs.mkdir(path,function(e){
if(!e || (e && e.code === 'EEXIST')){
//do something with contents
} else {
//debug
console.log(e);
}
});
但是我想知道这是正确的方法吗?检查代码EEXIST
是否正确知道文件夹已存在?我知道我可以fs.stat()
在创建目录之前执行此操作,但这已经是文件系统的两大难题。
其次,是否有Node.js的完整或至少是更详细的文档,其中包含有关错误对象包含的内容,参数表示的内容等的详细信息。
就像Teemu Ikonen的答案的一种较新的替代方法一样,它非常简单且易于阅读,它就是使用软件包的
ensureDir
方法fs-extra
。它不仅可以用作内置
fs
模块的公然替代品,而且除了fs
包装的功能外,还具有许多其他功能。ensureDir
顾名思义,该方法可确保目录存在。如果目录结构不存在,则会创建它。喜欢mkdir -p
。不只是结束文件夹,如果还不存在,则会创建整个路径。上面提供的是
async
它的版本。它还具有同步方法,以方法的形式执行此操作ensureDirSync
。