当路径具有../时,fs.existsSync()始终返回false

时间:2019-03-31 06:23:17

标签: javascript node.js fs

我有一行关于我的问题的代码。基本上,目的是检查JS文件所在的父文件夹的同级文件夹中是否存在名为tech-bg.jpg的文件。

这是代码:

fs.existsSync(path.join('..', config.ASSET_URL, 'images', config.BG_AUTH))
console.log(path.join('..', config.ASSET_URL, 'images', config.BG_AUTH))

控制台输出:

../storage/images/tech-bg.jpg

尽管文件存在,但是fs.existsSync()始终返回false。我尝试删除path.join并改用字符串格式,但它仍返回false

我还尝试使用path.resolve,它具有以下控制台输出:

C:\client_projects\tt\storage\images\tech-bg.jpg

现在它拥有完整的路径,但是仍然没有运气。

目录结构:

root/
   .../storage
         ../images
            ./tech-bg.jpg
   ../router
        ./index.js

我对NodeJS Filesystem API的经验不是很丰富,所以有人请告诉我我在做什么错。谢谢!

1 个答案:

答案 0 :(得分:0)

root/
   .../storage
         **../images**
            ./tech-bg.jpg
   ../router
        ./index.js

主要问题是“ ../images”,因为您的图像文件夹不是存储的直接子项。

这里的代码在这里工作正常-

router => index.js

const fs=require("fs");
var isExists=fs.existsSync("../storage/images/tech-bg.jpg");
console.log(isExists);

下面是目录系统和节点输出-

Node output-

Directory system-