是否可以像“mkdir -p”一样在节点中创建一个目录?
Posted
技术标签:
【中文标题】是否可以像“mkdir -p”一样在节点中创建一个目录?【英文标题】:Is it posible to create a dir in node like "mkdir -p" does? 【发布时间】:2016-10-02 00:45:29 【问题描述】:是否可以像使用 mkdir linux 命令时的 -p 参数一样,使用 FS api 创建目录和所有必需的子目录。
【问题讨论】:
这是我写给另一个类似问题***.com/a/44410793/2834139的答案 How to create full path with node's fs.mkdirSync?的可能重复 【参考方案1】:您可以在 Node 中使用 fs.mkdir
和 recursive: true
选项。见Documentation
【讨论】:
请注意,此 API 从 v10.12.0 开始可用。这个答案比接受的答案更干净,因为它不需要安装依赖项。【参考方案2】:您还可以使用名为 fs-extra
的 NPM 包,方便您执行此操作:
const fs = require("fs-extra");
async function createFolder(folder)
try
await fs.ensureDirSync(folder); // guarantees the directory is created, or error.
catch (err)
throw new Error('You do not have the right permissions to make this folder.');
【讨论】:
【参考方案3】:您可以编写自己的版本,也可以使用 mkdirp 之类的模块
【讨论】:
以上是关于是否可以像“mkdir -p”一样在节点中创建一个目录?的主要内容,如果未能解决你的问题,请参考以下文章
我们可以像在 Hive 中一样在 Big Query 中创建动态分区吗?