当路径有../时,fs.existsSync()总是返回false

问题描述 投票:0回答:1

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

这是代码:

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文件系统API方面不是很有经验,所以有人请告诉我这里我做错了什么。谢谢!

javascript node.js fs
1个回答
0
投票
root/
   .../storage
         **../images**
            ./tech-bg.jpg
   ../router
        ./index.js

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

这里的代码工作正常 -

路由器=> index.js

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

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

Node output-

Directory system-

© www.soinside.com 2019 - 2024. All rights reserved.