make-dir

中文文档
5.1.0发布于 2025/09/11MITTypeScriptES Module零依赖近 30 天下载 5.3亿

如果需要,创建一个目录及其父目录-思考 mkdir -p

中文使用文档
文档目录8 节
  1. 优势 fsPromises.mkdir('…', {recursive: true})
  2. 优势 mkdirp
  3. 安装
  4. 用法
  5. API
  6. makeDirectory(路径,选择?)
  7. makeDirectorySync(路径,选择?)
  8. 相关

make-dir

如果需要,创建一个目录及其父目录-思考 mkdir -p

[!提示) 你可能想要内置的 fsPromises.mkdir('…', {recursive: true}) 代替。

优势 fsPromises.mkdir('…', {recursive: true})

  • 支持自定义 fs 实现。

优势 mkdirp

  • 承诺API (异步/等待准备好了!)
  • 修复许多 mkdirp 问题
  • 在macOS, Linux和Windows上进行了ci测试
  • 积极维护
  • 不绑定CLI
  • 使用本地语言 fs.mkdir/mkdirSync recursive 选项 在Node.js中除非 覆盖

安装

npm install make-dir

用法

$ pwd
/Users/sindresorhus/fun
$ tree
.
import {makeDirectory} from 'make-dir';

const path = await makeDirectory('unicorn/rainbow/cake');

console.log(path);
//=> '/Users/sindresorhus/fun/unicorn/rainbow/cake'
$ tree
.
└── unicorn
    └── rainbow
        └── cake

多个目录:

import {makeDirectory} from 'make-dir';

const paths = await Promise.all([
    makeDirectory('unicorn/rainbow'),
    makeDirectory('foo/bar')
]);

console.log(paths);
/*
[
    '/Users/sindresorhus/fun/unicorn/rainbow',
    '/Users/sindresorhus/fun/foo/bar'
]
*/

API

makeDirectory(路径,选择?)

返回一个 Promise 为创建的目录的路径。

makeDirectorySync(路径,选择?)

返回创建目录的路径。

路径

类型: string | URL

要创建的目录。

选项

类型: object

模式

类型: integer
默认值: 0o777

的目录 权限。

fs

类型: object
默认值: import fs from 'node:fs'

使用自定义 fs 实现。例如 graceful-fs。

使用自定义 fs 实现将阻止本机的使用 recursive 如果选择 fs.mkdir 或 fs.mkdirSync 不是本机函数。

版本与发布记录

make-dir 共发布 13 个版本,首次发布于 2017/05/10;过去 12 个月发布了 0 个版本。

版本发布日期距今
5.1.0latest2025/09/111.1 年前
5.0.02024/05/032 年前
4.0.02023/06/233 年前
3.1.02020/04/226 年前
3.0.22020/02/136 年前
3.0.12020/02/136 年前

关于 make-dir 的常见问题

make-dir 是什么?

如果需要,创建一个目录及其父目录-思考 mkdir -p

如何安装 make-dir?

在项目目录运行 npm install make-dir,或使用 pnpm add / yarn add / bun add。

make-dir 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

make-dir 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

make-dir 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

make-dir 可以商用吗?

make-dir 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

make-dir 的下载量有多少?

根据 npm 官方下载统计,make-dir 在 2026/10/04 – 2026/11/02 这 30 天内被下载 525,432,738 次,日均约 17,514,425 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

make-dir 还在维护吗?

最新版本 5.1.0 发布于 2025/09/11(1.1 年前);至今共发布 13 个版本,其中过去 12 个月发布了 0 个;首次发布于 2017/05/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。