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 相关文章推荐
jquery text,radio,checkbox,select操作实现代码
Jul 09 Javascript
基于jquery的横向滚动条(滑动条)
Feb 24 Javascript
如何改进javascript代码的性能
Apr 02 Javascript
js+html5实现canvas绘制圆形图案的方法
Jun 05 Javascript
javascript实现根据汉字获取简拼
Sep 25 Javascript
bootstrap 表单验证使用方法
Jan 11 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
webuploader分片上传的实现代码(前后端分离)
Sep 10 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
Sep 16 Javascript
node(koa2) web应用模块介绍详解
Mar 29 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
Apr 23 Javascript
JS浏览器BOM常见操作实例详解
Apr 27 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开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
2014/09/27 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
php session的锁和并发
2016/01/22 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
Python实现的二维码生成小软件
2014/07/11 Python
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
使用pandas对矢量化数据进行替换处理的方法
2018/04/11 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
解决python中 f.write写入中文出错的问题
2018/10/31 Python
Django 外键的使用方法详解
2019/07/19 Python
基于Python实现扑克牌面试题
2019/12/11 Python
Ado与Ado.net的相同与不同
2014/12/08 面试题
认购协议书范本
2014/04/22 职场文书
2014年环保局工作总结
2014/12/11 职场文书
大队委员竞选稿
2015/11/20 职场文书
Python数据分析之pandas函数详解
2021/04/21 Python
Python爬虫基础初探selenium
2021/05/31 Python
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python