日常生活的交流与学习

首页 新随笔 联系 管理

背景

  1. 有时候遇到这个问题,就是向某个目录中写入一个文件,需要层层创建目录,然后才能创建文件,最后写入文件.
  2. 这个时候就会出现一个麻烦的事情,就是不知道这个目录存不存在,如果这个目录不存在,就是有可能会报错,每次都得检查,就是显得很麻烦,于是封装下面的代码,不过目录存不存在,就是都能写入

代码

const fs = require('fs');

const writeFileRecursive = function (path, buffer, callback) {
  // 前面的文件路径
  let lastPath = path.substring(0, path.lastIndexOf('/'));
  // 递归创建目录
  fs.mkdir(lastPath, { recursive: true }, (err) => {
    if (err) return callback(err);
    fs.writeFile(path, buffer, function (err) {
      if (err) return callback(err);
      return callback(null);
    });
  });
};

const buffer = 'hello';
writeFileRecursive('./public/test/test.txt', buffer, (err) => {
  if (err) console.error(err);
  console.info('write success');
});

posted on 2022-02-15 20:54  lazycookie  阅读(71)  评论(0编辑  收藏  举报