Node.js 如何确定目录是否为符号链接
我运行了Node.js 如何确定目录是否为符号链接,node.js,fs,Node.js,Fs,我运行了fs.lstat,得到了一个目录的以下统计信息: Stats { dev: 16777220, mode: 16877, nlink: 8, uid: 501, gid: 20, rdev: 0, blksize: 4096, ino: 7366885, size: 272, blocks: 0, atime: 2017-04-16T23:18:17.000Z, mtime: 2017-04-16T23:14:49.000Z, ctim
fs.lstat
,得到了一个目录的以下统计信息:
Stats {
dev: 16777220,
mode: 16877,
nlink: 8,
uid: 501,
gid: 20,
rdev: 0,
blksize: 4096,
ino: 7366885,
size: 272,
blocks: 0,
atime: 2017-04-16T23:18:17.000Z,
mtime: 2017-04-16T23:14:49.000Z,
ctime: 2017-04-16T23:14:49.000Z,
birthtime: 2017-04-16T23:14:49.000Z }
如何确定此目录是否为符号链接 我正在用
util.inspect(stats);
但是stats对象的方法在对象的\uuuuu proto\uuuu
上:
stats.isSymbolicLink()
是要使用的调用
您希望使用fs.lstat()
而不是fs.stat()
,因为前者不会跟随符号链接。如果遵循符号链接,最终将到达实际目录,这意味着stats.isSymbolicLink()
将始终返回false。但这并不是我们真正想要的
因此答案是:
fs.lstat(<path>, function(err,stats){
if(stats.isSymbolicLink()){
// do your thing
}
});
fs.lstat(,函数(err,stats){
if(stats.isSymbolicLink()){
//做你的事
}
});
检查isSymbolicLink
方法谢谢,我以为util.inspect()会捕获那些方法(如果它们存在的话),但不确定为什么它没有。