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 form表单提交插件asp.net后台中文解码
Jun 12 Javascript
JS应用正则表达式转换大小写示例
Sep 18 Javascript
jQuery圆形统计图开发实例
Jan 04 Javascript
Javascript中实现trim()函数的两种方法
Feb 04 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
Feb 28 Javascript
bootstrap weebox 支持ajax的模态弹出框
Feb 23 Javascript
es6 字符串String的扩展(实例讲解)
Aug 03 Javascript
利用jQuery实现简单的拖曳效果实例代码
Oct 20 jQuery
使用canvas实现一个vue弹幕组件功能
Nov 30 Javascript
JavaScript继承的特性与实践应用深入详解
Dec 30 Javascript
vue.js高德地图实现热点图代码实例
Apr 18 Javascript
JavaScript对象字面量和构造函数原理与用法详解
Apr 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可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
Mootools 1.2教程 Fx.Tween的使用
2009/09/15 Javascript
使用JQuery进行跨域请求
2010/01/25 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
jQuery预加载图片常用方法
2015/06/15 Javascript
javascript每日必学之继承
2016/02/23 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
bootstrap select插件封装成Vue2.0组件
2017/04/17 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
基于zepto.js实现手机相册功能
2017/07/11 Javascript
Node.js五大应用性能技巧小结(必须收藏)
2017/08/09 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
js装饰设计模式学习心得
2018/02/17 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
vue elementui el-form rules动态验证的实例代码详解
2019/05/23 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
Python中常见的数据类型小结
2015/08/29 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
解决Python安装cryptography报错问题
2020/09/03 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
厉行勤俭节约倡议书
2014/05/16 职场文书
食品工程专业求职信
2014/06/15 职场文书
优秀应届生求职信
2014/06/16 职场文书
电子专业自荐信
2014/07/01 职场文书
党校学习个人总结
2015/02/15 职场文书
Python 中random 库的详细使用
2021/06/03 Python