path
{string|Buffer|URL}options
{Object|integer}recursive
{boolean} 默认值:false
。mode
{string|integer} 在 Windows 上不支持。默认值:0o777
。
callback
{Function}err
{Error}
异步地创建目录。
回调会传入可能的异常、以及创建的第一个目录的路径(如果 recursive
为 true
),(err, [path])
。
可选的 options
参数可以是整数(指定 mode
(权限和粘滞位))、或对象(具有 mode
属性和 recursive
属性(指示是否要创建父目录))。
当 path
是已存在的目录时,调用 fs.mkdir()
仅在 recursive
为 false 时才会导致错误。
// 创建 `/目录1/目录2/目录3`,不管 `/目录1` 和 `/目录1/目录2` 是否存在。
fs.mkdir('/目录1/目录2/目录3', { recursive: true }, (err) => {
if (err) throw err;
});
在 Windows 上,对根目录使用 fs.mkdir()
(即使使用遍历)也会导致错误:
fs.mkdir('/', { recursive: true }, (err) => {
// => [Error: EPERM: operation not permitted, mkdir 'C:\']
});
也可参见 mkdir(2)。