繁体   English   中英

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

[英]Node.js is unable to find a file in another folder

我有一个自一年以来一直在维护的 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”文件夹中

在我必须使用的命令之一中:

const logs = require("../modules/logger");  
const background = await Canvas.loadImage("./images/halloween/background.jpg");

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM