[英]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.