не удается получить доступ к файлу javascript, даже если путь указан правильно

#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:

Хорошо, я нашел свою проблему. И это исходило от другого запроса в другом файле. Мой код здесь был правильным.

Извините за глупый вопрос, будьте снисходительны, я нуб, и спасибо вам за ответ.