[Node.js]isFile

昨天被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()` 同理



本文发布于 https://luojia.me

本站文章未经文下加注授权不得拷贝发布。

0 0 投票数
打分
订阅评论
提醒
guest
8 评论
内联反馈
查看所有评论
Sumhat
游客
9 年 前

stats() 是一个 posix 函数,Unix 系和衍生出来的语言都这么用的

Sumhat
游客
9 年 前
回复给  罗佳(博主)

C 用的是结构,最不济的 Bash 用的是字符串

约修亚_RK
游客
约修亚_RK
9 年 前

少年啊 与谷歌签订契约变成猴子吧)啥(๑•̀ㅂ•́)و✧还有就是友荐太TM反人类了登录了五次愣是没登录上

Joshua
游客
Joshua
9 年 前
回复给  约修亚_RK

友荐 → 多说

SJ
游客
SJ
9 年 前
回复给  Joshua

连用户信息都要重新输是什么鬼