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