node.js 递归目录
时间: 2024-12-21 08:09:24 浏览: 0
Node.js 中,可以使用 `fs` 模块来实现递归创建目录。下面是同步和异步两种方式:
**同步方式(适用于 Node.js 10 及以上)[^1]**:
```javascript
const fs = require('fs');
fs.mkdirSync('./path/to/my/directory', { recursive: true });
```
这个方法会尝试在指定路径下创建目录,如果路径不存在并且设置 `recursive: true`,它会自动创建所有缺失的上级目录。
**异步方式(适用于所有 Node.js 版本)**:
```javascript
const fs = require('fs').promises;
await fs.mkdir('./path/to/my/directory', { recursive: true });
```
使用 `fs.promises.mkdir()` 是异步的,需要配合 `async/await` 或者回调函数来处理异步操作。
如果你正在使用的 Node.js 版本较旧,可能不支持 `recursive` 参数,这时你需要自己编写递归逻辑,例如遍历路径并逐级创建子目录:
```javascript
function mkdirRecursive(path) {
if (!fs.existsSync(path)) {
fs.mkdirSync(path);
// 如果存在其他子目录继续递归创建
fs.readdirSync(path).forEach(childDir => mkdirRecursive(`${path}/${childDir}`));
}
}
mkdirRecursive('./path/to/my/directory');
```
阅读全文