#javascript #node.js #filepath
Вопрос:
Похоже, это обычная проблема с Nodejs, и я безуспешно перепробовал все решения. Мой запрос require(‘путь к файлу’) не выполнен, с ошибкой » ENOENT: нет такого файла или каталога, откройте «путь к файлу», например, у меня есть эти папки:
я хочу использовать action1.js и data.json в папку 2 action2.js
Поэтому, пока требуется с относительным путем, не работает (почему ?):
const action1 = require('../folder1/action1.js')
const data = require('../../data/data.json')
Я попробовал абсолютный путь, но это тоже не сработало
const action1 = require(path.join( __dirname,'../folder1/action1.js'))
const data = require(path.join( __dirname,'../../data/data.json'))
Что я делаю не так?
Комментарии:
1. эй, ваши цитаты недействительны. вы знаете об этом? требуется(‘../folder1/action1.js») и т.д…
2. Да, извините, это типографская ошибка, она была правильно написана в моем локальном коде. Спасибо за исправление
3. Выглядит нормально… Я предполагаю, что код, который вы опубликовали, находится внутри
action2.js
? Можете ли вы опубликовать фактическую ошибку вместо таких вещей, какa filepath
и т. Д4. С кодом, который вы опубликовали, проблем нет. Таким образом, либо ваша структура каталогов не соответствует вашим ожиданиям, либо существуют различия в заглавных буквах имен файлов. Вы уверены, что ошибка, которую вы получаете, вызвана строками запроса, которые вы нам показали?
Ответ №1:
Код выглядит правильно, но я предлагаю вам проверить область действия вашего каталога.
Вы можете выполнить следующие действия, чтобы просмотреть структуру каталогов с action2.js
npm install directory-tree
Внутри вашего файла добавьте следующие строки:
const dirTree = require("directory-tree");
const tree1 = dirTree('../');
console.log(tree1);
const tree2 = dirTree('../../');
console.log(tree2);
Это может помочь вам найти область действия вашего каталога. Это не решение, а способ помочь вам отладить.
Ответ №2:
Хорошо, я нашел свою проблему. И это исходило от другого запроса в другом файле. Мой код здесь был правильным.
Извините за глупый вопрос, будьте снисходительны, я нуб, и спасибо вам за ответ.