如果父文件夹不存在,如何写文件?
我需要将文件写入以下路径:
fs.writeFile('/folder1/folder2/file.txt', 'content', function () {…});
但是'/folder1/folder2'
路径可能不存在。所以我得到以下错误:
message = ENOENT,打开/folder1/folder2/file.txt
如何将内容写入该路径?
回答:
将mkdirp与path.dirname
first
结合使用。
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