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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

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

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

 });

'/folder1/folder2'路径可能不存在。因此,得到以下错误:

 message=ENOENT, open /folder1/folder2/file.txt
提问于
用户回答回答于

path.dirname首先

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。否则,它会为您创建所有丢失的目录。

这个模块可以满足您的需要:https://npmjs.org/package/writefile.

用户回答回答于

可以只使用fs-pathNPM模块。

这样,代码看起来就像:

var fsPath = require('fs-path');

fsPath.writeFile('/folder1/folder2/file.txt', 'content', function(err){
  if(err) {
    throw err;
  } else {
    console.log('wrote a file like DaVinci drew machines');
  }
});

所属标签

可能回答问题的人

  • 红双喜经典VS中华

    1 粉丝0 提问8 回答
  • LemonLu

    社区 · 运营 (已认证)

    45 粉丝0 提问6 回答
  • 滑稽园扛把子

    Swoole Inc · PHP工程师 (已认证)

    135 粉丝0 提问4 回答
  • 13火麒麟

    0 粉丝0 提问4 回答

扫码关注云+社区