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 (for instance, if it was previously created).

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

¥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. If recursive is false and the directory exists, an EEXIST error occurs.

import { mkdir } from 'node:fs';

// Create ./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.