如何使用节点的fs.mkdirSync创建完整路径?

我正在尝试创建完整路径(如果不存在)。

代码如下:

var fs = require('fs');

if (!fs.existsSync(newDest)) fs.mkdirSync(newDest);

只要只有一个子目录(例如“ dir1”之类的newDest),此代码就可以很好地工作,但是当存在一个目录路径(“ dir1 /

dir2”)时,它将失败并显示

我希望能够用最少的代码行来创建完整路径。

我读到fs上有一个递归选项,并像这样尝试过

var fs = require('fs');

if (!fs.existsSync(newDest)) fs.mkdirSync(newDest,'0777', true);

我觉得递归地创建一个不存在的目录应该很简单。我是否丢失了某些内容,还是需要解析路径并检查每个目录并创建它(如果尚不存在)?

我对Node很陌生。也许我使用的是旧版的FS?

回答:

一种选择是使用shelljs模块

npm安装shelljs

var shell = require('shelljs');

shell.mkdir('-p', fullPath);

从该页面:

可用选项:

p:完整路径(如有必要,将创建中间目录)

正如其他人指出的那样,还有其他更专注的模块。但是,在mkdirp之外,它还有大量其他有用的shell操作(例如grep等),并且可以在Windows和*

nix上运行

以上是 如何使用节点的fs.mkdirSync创建完整路径? 的全部内容, 来源链接: utcz.com/qa/421362.html

回到顶部