如果父文件夹不存在,如何写文件?

我需要将文件写入以下路径:

fs.writeFile('/folder1/folder2/file.txt', 'content', function () {…});

但是'/folder1/folder2'路径可能不存在。所以我得到以下错误:

message = ENOENT,打开/folder1/folder2/file.txt

如何将内容写入该路径?

回答:

将mkdirp与path.dirnamefirst

结合使用。

var mkdirp = require('mkdirp');

var fs = require('fs');

var getDirName = require('path').dirname;

function writeFile(path, contents, cb) {

mkdirp(getDirName(path), function (err) {

if (err) return cb(err);

fs.writeFile(path, contents, cb);

});

}

如果整个路径已经存在,mkdirp则为noop。否则,它将为您创建所有丢失的目录。

该模块可满足您的需求:https :

//npmjs.org/package/writefile。在搜寻“

writefile

mkdirp”时得到了它。该模块返回一个promise,而不是进行回调,因此请务必先阅读一些promise的介绍。它实际上可能会使您的事情复杂化。

我提供的功能在任何情况下都有效。

以上是 如果父文件夹不存在,如何写文件? 的全部内容, 来源链接: utcz.com/qa/409780.html

回到顶部