Node.js无法在另一个文件夹中找到文件

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

我一年以来一直在维护一个Discord机器人,几个月前,我对文件结构进行了一些更改,以清理它并使我更容易知道发生了什么。

事实是,每当我尝试请求位于机器人根目录下的文件夹中的文件(带有require时,有时它与"./"一起使用,而有时它与"../"一起使用

当前文件结构为:

----commands  
-------commands.js(multiple files)  
----images  
-------halloween  
----------images.png/jpg(multiple images)  
----logs  
-------bot.log  
----modules  
------logger.js  
----settings  
-------config.json  
-emojis.json  
-gifs.json  
-index.js

按照上面的结构,例如,当我尝试在命令中请求一个万圣节图像时,对我来说合乎逻辑的事情是使用“ ../images/halloween/image.png”,但我必须使用“ ./images/halloween/image.png”,就像“ images”文件夹位于“ commands”文件夹中一样]

我想知道为什么会这样。看到一个错误消息说找不到文件仅是因为node.js决定这次的父目录是"./"而不是"../"],这真让我的大脑感到困惑

我有一年以来一直在维护Discord机器人,几个月前,我对文件结构进行了一些更改,以清理它并使我更容易知道发生了什么。问题是,...

javascript node.js directory discord.js directory-structure
1个回答
0
投票

假设您的命令文件正在进行文件系统调用(因为您正在从中访问图像),那么从中调用脚本的目录可能很重要。确保您正在使用path实用程序来解析文件位置。有关更多详细信息,请参见NodeJS accessing file with relative path

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