如何使用节点的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