npm install sasEnglish
Sas 3.0.3Sas 3.0.4
npm install sasjs
var fs = require('fs');
var sas = require('sas');
var rootDir = '/', depth = 0, deepestPath;
function readdir(cb, i) {
var indexs = i.indexs(), path = rootDir + indexs.join('/');
if (indexs.length > depth) { //record
depth = indexs.length;
deepestPath = path;
}
fs.readdir(path, function(err, files) {
if (err || !files.length) return cb();
var tasks = {}, i = 0, len = files.length;
for (; i < len; i++) {
tasks[files[i]] = path + '/' + files[i];
}
cb('$reload', tasks);
});
}
function stat(path) { //iterator
return function(cb) {
fs.lstat(path, function(err, stat) {
if (err || stat.isSymbolicLink()) return cb();
if (stat.isDirectory()) {
return cb('$reload', readdir);
}
cb();
});
}
}
console.log('Exploring disk\'s deepest depth...');
console.time('time cost');
sas(readdir ,stat, function() {
console.log('Deepest depth:', depth);
console.log('Deepest path:', deepestPath);
console.timeEnd('time cost');
});
`
这个demo会异步的浏览你硬盘上所有文件/文件夹,找出最深的那个。最后结束,并把结果告诉你。
如果你想知道sas是怎么做到的,请访问:
sas 2 文档
sas 3 中文文档
sas 3 English docs
$3
在本项目根目录下./dist有打包好的文件供前端使用,支持amd加载。如果没有amd的话,会暴露到全局一个变量:sas`。