昨天被nodejs的`isfile` 坑了一下午。
本来我是这么用的
var fs=require("fs");
var stat=new fs.Stats();
stat.isFile(文件路径);
结果没有任何返回,也没有报错。于是我就研究了一下午是不是相对路径问题,是不是系统问题什么的。。。
为什么我要这么写呢,因为API文档很简单就带过了这个内容,连个例子也没有:
Class: fs.Stats
`fs.stat()` , `fs.lstat()` 和 `fs.fstat()` 以及他们对应的同步版本返回的对象。
stats.isFile() stats.isDirectory() stats.isBlockDevice() stats.isCharacterDevice() stats.isSymbolicLink() (仅在与 fs.lstat()一起使用时合法) stats.isFIFO() stats.isSocket()
由于看到了`class fs.Stats` ,我第一反应就是先`new` 一个出来,结果就悲剧了。后来经过不断探索,昂头奋进,披荆斩棘,终于从废渣信息爆满的百度里找到了`isFile` 的正确用法,是这样:
var fs=require("fs");
fs.statSync(路径).isFile();//同步版
fs.stat(path,function(s){//异步版
callback(s.isFile());
});
`isDirectory()` 和`isFile()` 同理







