加入收藏 | 设为首页 | 会员中心 | 我要投稿 南京站长网 (https://www.025zz.com.cn/)- 自然语言处理、建站、经验、云计算、图像分析!
当前位置: 首页 > 教程 > 正文

nodejs实现目录不存在自动创建

发布时间:2023-10-23 12:00:38 所属栏目:教程 来源:转载
导读:   下面跟着小编的思路慢慢深入,一起来学习新知识吧。



  一、fs.mkdir



  fs.mkdir()是Node.js自带的API,它用于创建目录,其定义如下:



  fs.mkdir(path[, opti
  下面跟着小编的思路慢慢深入,一起来学习新知识吧。
 
  一、fs.mkdir
 
  fs.mkdir()是Node.js自带的API,它用于创建目录,其定义如下:
 
  fs.mkdir(path[, options], callback)
 
  复制代码
 
  其中,参数path表示要创建的目录路径;参数options为可选,表示目录的属性,默认值为0o777(即所有用户均有读写执行权限);参数callback是一个回调函数,用于在目录创建成功或失败后执行。
 
  简单来说,fs.mkdir方法通过检查指定路径的目录是否存在来判断是否需要创建该目录。如果目录不存在,则它会尝试创建该目录。
 
  下面是一个使用fs.mkdir创建目录的示例:
 
  const fs = require('fs');
 
  fs.mkdir('/path/to/dir', { recursive: true }, (error) => {
 
      if (error) {
 
          console.error(`创建目录失败:${error}`);
 
      } else {
 
          console.log('目录创建成功');
 
      }
 
  });
 
  复制代码
 
  该示例中,参数recursive设置为true即可实现目录自动创建。如果该参数未设置为true,则当目录的任何一个父级目录不存在时,将会抛出一个异常。
 
  二、mkdirp
 
  mkdirp是Node.js的一个第三方模块,它提供了一个更加便捷的方法来创建目录。与fs.mkdir不同的是,mkdirp会自动判断目录是否存在,如果不存在,则会创建该目录;如果目录存在,则会自动返回。
 
  使用方法如下:
 
  mkdirp(dir, [options], function (err) {
 
      if (err) console.error(err);
 
      else console.log('成功创建目录:' + dir)
 
  });
 
  复制代码
 
  其中,参数dir表示要创建的目录路径,参数options为可选,表示目录的属性;回调函数可用于在目录创建成功或失败后执行。
 
  mkdirp与fs.mkdir不同的是,它能够递归创建目录,并且支持通过callback对成功/失败进行处理。
 
  三、Node.js 10中新增方法
 
  在Node.js 10中,fs.mkdir方法新增了一个recursive参数,用于递归地创建目录。若该参数设置为true,则可以在创建目录时自动创建其上级目录。
 
  使用方法如下:
 
  const fs = require('fs');
 
  fs.mkdir('/path/to/dir', { recursive: true }, (error) => {
 
      if (error) {
 
          console.error(`创建目录失败:${error}`);
 
      } else {
 
          console.log('目录创建成功');
 
      }
 
  });
 
  复制代码
 
  在Node.js 10之前,像上述代码中那样直接创建目录时,必须要手动先创建目录的各级父目录。而在Node.js 10之后,设置recursive为true后,可以实现自动创建。
 

(编辑:南京站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章