fs.mkdir(path[, options], callback)


异步地创建目录。

¥Asynchronously creates a directory.

回调给出一个可能的异常和创建的第一个目录路径(如果 recursivetrue),(err[, path])。当 recursivetrue 时,如果没有创建目录,则 path 仍然为 undefined

¥The callback is given a possible exception and, if recursive is true, the first directory path created, (err[, path]). path can still be undefined when recursive is true, if no directory was created.

可选的 options 参数可以是指定 mode(权限和粘性位)的整数,也可以是具有 mode 属性和 recursive 属性(指示是否应创建父目录)的对象。当 path 是已存在的目录时,调用 fs.mkdir() 仅在 recursive 为 false 时才导致错误。

¥The optional options argument can be an integer specifying mode (permission and sticky bits), or an object with a mode property and a recursive property indicating whether parent directories should be created. Calling fs.mkdir() when path is a directory that exists results in an error only when recursive is false.

import { mkdir } from 'node:fs';

// Creates /tmp/a/apple, regardless of whether `/tmp` and /tmp/a exist.
mkdir('/tmp/a/apple', { recursive: true }, (err) => {
  if (err) throw err;
}); 

在 Windows 上,即使使用递归,在根目录上使用 fs.mkdir() 也会导致错误:

¥On Windows, using fs.mkdir() on the root directory even with recursion will result in an error:

import { mkdir } from 'node:fs';

mkdir('/', { recursive: true }, (err) => {
  // => [Error: EPERM: operation not permitted, mkdir 'C:\']
}); 

有关更多详细信息,请参阅 POSIX mkdir(2) 文档。

¥See the POSIX mkdir(2) documentation for more details.