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

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

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

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

 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');
  }
});

扫码关注云+社区