У меня есть бот 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» находилась в папке «команд»
В одной из команд, которые я должен использовать:
const logs = require("../modules/logger");
const background = await Canvas.loadImage("./images/halloween/background.jpg");
Я хотел бы знать, почему это происходит. Это действительно мешает моему мозгу увидеть ошибку, говорящую, что файл не был найден только потому, что node.js решил, что на этот раз родительский каталог "./"
вместо "../"