Node.js 文件夹目录结构创建实例代码


Posted in Javascript onJuly 08, 2016

第一次接触NodeJS的文件系统就被它的异步的响应给搞晕了,后来发现NodeJS判断文件夹是否存在和创建文件夹是还有同步方法的,但是还是想尝试使用异步的方法去实现。

使用的方法:

fs.exists(path, callback);

fs.mkdir(path, [mode], callback);

实现文件夹目录结构的创建代码实现如下:

//创建文件夹
function mkdir(pos, dirArray,_callback){
  var len = dirArray.length;
  console.log(len);
  if( pos >= len || pos > 10){
    _callback();
    return;
  }
  var currentDir = '';
  for(var i= 0; i <=pos; i++){
    if(i!=0)currentDir+='/';
    currentDir += dirArray[i];
  }
  fs.exists(currentDir,function(exists){
    if(!exists){
      fs.mkdir(currentDir,function(err){
        if(err){
          console.log('创建文件夹出错!');
        }else{
          console.log(currentDir+'文件夹-创建成功!');
          mkdir(pos+1,dirArray,_callback);
        }
      });
    }else{
      console.log(currentDir+'文件夹-已存在!');
      mkdir(pos+1,dirArray,_callback);
    }
  });
}

//创建目录结构
function mkdirs(dirpath,_callback) {
  var dirArray = dirpath.split('/');
  fs.exists( dirpath ,function(exists){
    if(!exists){
      mkdir(0, dirArray,function(){
        console.log('文件夹创建完毕!准备写入文件!');
        _callback();
      });
    }else{
      console.log('文件夹已经存在!准备写入文件!');
      _callback();
    }
  });
}

首先把需要创建的一个目录结构存放到一个数组里面,然后主要采用深搜的思想去实现(深度为数组的长度)。

以上这篇Node.js 文件夹目录结构创建实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
页面加载完毕后滚动条自动滚动一定位置
Feb 20 Javascript
jquery让指定的元素闪烁显示的方法
Mar 17 Javascript
javascript中for/in循环及使用技巧
Sep 01 Javascript
深入浅析JavaScript中with语句的理解
May 12 Javascript
node.js版本管理工具n无效的原理和解决方法
Nov 24 Javascript
Angular.js中$resource高大上的数据交互详解
Jul 30 Javascript
详解Vue.js Mixins 混入使用
Sep 15 Javascript
微信小程序checkbox组件使用详解
Jan 31 Javascript
详解vue项目打包步骤
Mar 29 Javascript
Fetch超时设置与终止请求详解
May 18 Javascript
JS操作json对象key、value的常用方法分析
Oct 29 Javascript
vue 使用async写数字动态加载效果案例
Jul 18 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
Jul 07 #Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
Jul 07 #Javascript
简单实现js页面切换功能
Jan 10 #Javascript
JavaScript作用域示例详解
Jul 07 #Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
Jul 07 #Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
Jul 07 #Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
Jul 07 #Javascript
You might like
PHP ajax 异步执行不等待执行结果的处理方法
2015/05/27 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
JavaScript错误处理
2015/02/03 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
2016/06/16 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
2018/12/11 jQuery
Vue 自定义指令实现一键 Copy功能
2019/09/16 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
python基础教程之lambda表达式使用方法
2014/02/12 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
python实现超级马里奥
2020/03/18 Python
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
给国外客户的邀请函
2014/01/30 职场文书
公司中秋节活动方案
2014/02/12 职场文书
学生打架检讨书
2014/02/14 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
机关作风建设自查报告
2014/10/22 职场文书
青年文明号汇报材料
2014/12/23 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
三严三实·严以用权心得体会
2016/01/12 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
小学语文教学反思范文
2016/03/03 职场文书