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 相关文章推荐
漂亮的仿flash菜单,来自蓝色经典
Jun 26 Javascript
动态创建的表格单元格中的事件实现代码
Dec 30 Javascript
Js-$.extend扩展方法使方法参数更灵活
Jan 15 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
Apr 23 Javascript
没有document.getElementByName方法
Aug 19 Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
Dec 30 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
Aug 10 Javascript
Ubuntu 16.04 64位中搭建Node.js开发环境教程
Oct 19 Javascript
Bootstrap CSS组件之导航条(navbar)
Dec 17 Javascript
JS触摸事件、手势事件详解
May 04 Javascript
Vue v-model组件封装(类似弹窗组件)
Jan 08 Javascript
JavaScript 实现继承的几种方式
Feb 19 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
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
JavaScript中ES6 Babel正确安装过程
2016/07/18 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
微信小程序 下拉刷新及上拉加载原理解析
2019/11/06 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
JavaScript基于SVG的图片切换效果实例代码
2020/12/15 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
初学Python实用技巧两则
2014/08/29 Python
Python引用计数操作示例
2018/08/23 Python
python字典改变value值方法总结
2019/06/21 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
python 绘制场景热力图的示例
2020/09/23 Python
python调用win32接口进行截图的示例
2020/11/11 Python
Python 中Operator模块的使用
2021/01/30 Python
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
土木工程专业个人求职信
2013/12/30 职场文书
结婚周年感言
2014/02/24 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
论文诚信承诺书
2014/05/23 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
停水通知
2015/04/16 职场文书
七夕情人节问候语
2015/11/11 职场文书
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python
Python开发工具Pycharm的安装以及使用步骤总结
2021/06/24 Python