当显示该文件的节点fs不是目录时
我有以下代码…
console.log("looking for "+ path+" "+fs.lstatSync(path).isDirectory());
与path==“/卷/ Macintosh HD”我得到
寻找/卷/ Macintosh HD错误
我也尝试转换为“/ Volumes / Macintosh \ HD”,但它甚至找不到该文件。
为什么这不是作为一个目录显示?
这是因为/Volumes/Macintosh HD
实际上是/
一个符号链接。 这实际上不是一个目录。
你可以这样做:
console.log("looking for "+ path+" symlink: "+fs.lstatSync(path).isSymbolicLink()); // outputs: looking for /Volumes/Macintosh HD symlink: true
如果你想在你的逻辑中集成这个来检查符号链接是否指向一个目录,你可以尝试如下所示:
var path = '/Volumes/Macintosh HD'; if (fs.lstatSync(path).isSymbolicLink()) { // replace 'path' with the real path if it's a symlink path = fs.readlinkSync(path); } if (fs.lstatSync(path).isDirectory()) { console.log('it is a directory!'); }