##递归加载目录树
```
// 打印当前目录树
const fs = require('fs');
const path = require('path');
var target = path.join(__dirname, process.argv[2] || '../');
console.log(target);
function loaddir(target, level) {
var prefix = new Array(level + 1).join('│ ');
var dirinfo = fs.readdirSync(target);
var dirs = [];
var files = [];
dirinfo.forEach(info=> {
var stat = fs.statSync(path.join(target, info));
if (stat.isDirectory()) {
dirs.push(info);
} else {
files.push(info);
}
});
var next = level + 1;
dirs.forEach(dir=> {
console.log(`${prefix}├─ ${dir}`);
loaddir(path.join(target, dir), next);
});
var count = files.length - 1;
files.forEach(file=> {
if (count--) {
console.log(`${prefix}├─ ${file}`);
} else {
console.log(`${prefix}└─ ${file}`);
}
});
}
loaddir(target, 0);
// function loaddir(target, level) {
// var line = new Array(level).join(' ');
// var dirinfo = fs.readdirSync(target);
// var dirs = [];
// var files = [];
// dirinfo.forEach(info=> {
// var stat = fs.statSync(path.join(target, info));
// if (stat.isDirectory()) {
// dirs.push(info);
// } else {
// files.push(info);
// }
// });
// dirs.forEach(dir=> {
// console.log(`${line}└─ ${dir}`);
// loaddir(path.join(target, dir), 1 + level);
// });
// var count = files.length - 1;
// files.forEach(file=> {
// if (count--) {
// console.log(`${line}├─ ${file}`);
// } else {
// console.log(`${line}└─ ${file}`);
// }
// });
// }
// loaddir(target, 0);
```
- 简介
- 配置安装
- window
- 基础知识
- Node 命令基本用法
- 进程和线程
- 调试
- 异步、回调
- 全局对象
- 非阻塞 I/O和事件驱动和非阻塞机制
- npm包概念
- 模块化
- 实现require和cache
- 核心模块操作
- fs文件系统操作
- 同步调用和异步调用
- 缓冲区处理(二进制数据)
- 文件读取
- 文件写入
- 例子:读取歌词文件显示
- 文件流
- 例子:文件复制
- 监视文件
- 其他文件操作
- 目录操作
- 例子:递归加载目录树
- path路径操作模块
- 网络操作
- URL 解析模块
- querystring查询字符串模块
- crypto加密解密模块
- Socket
- 例子:聊天室
- coffeescript
- Gulp-自动化构建工具
- Gulp实现前端构建
- Gulp后端构建
- 插件
- gulp-load-plugins 模块化管理插件
- gulp-minify-css 压缩css插件
- gulp-sass 将sass预处理为css
- gulp-less 将less预处理为css
- gulp-sourcemaps 插件
- gulp-concat 合并插件
- gulp-uglify 压缩JS插件
- gulp-util gulp常用工具库插件
- yargs插件
- gulp-nodemon 自动启动/重启插件
- coffee-script 插件
- gulp-coffee插件
- gulp-livereload 网页自动刷新
- Moment.js-处理时间插件
- express 前端框架
- Async-异步流程控制插件
- node-progress进度条插件
- JSHint-代码规范检查工具
- lodash -JavaScript 工具库
- 资料
- 框架所用包
- bodyParser
