2014-10-04 2 views
0

Я пытаюсь получить доступ к файлу изнутри модуля. Я дал местоположение файла внутри модуля, как показано ниже. Моя папка модуля называется помощником.Node.js доступ к файлам из внутренних модулей

__dirname + "/../public/lib/objects"

500 Ошибка: ENOENT, нет такого файла или каталога '/ главная/sushmitsarmah/проекты/приложение/хелперы/общественные/Lib/объекты'

Это дает мне ошибку, когда местоположение является вспомогательным/public/lib/objects. Я пробовал следующее:

__dirname + "/../../public/lib/objects". Это также дает мне ошибку.

Как получить доступ к общей папке? В справочной структуре вспомогательный и общедоступный объекты находятся на одном уровне.

структура папок:

app 
--helpers 
    --getData.js 
--public 
    --lib 
     --objects 
--views 
--app.js 

В app.js я называю:. вар GetData = требуется ('./ хелперы/GetData') GetData;

Изнутри getData.js Я хочу получить доступ к папке с объектами.

Благодаря

+0

обеспечивают системные пути как текущие, так и цели включают в себя файл в вашем вопросе – mithunsatheesh

ответ

2

Обратите внимание, что __dirname точки каталог, в котором в настоящее время выполнения скрипта находится. Так что в нашем случае это каталог, в котором находится скрипт. Таким образом, текущий рабочий каталог всегда укажет на папку app.js, где, поскольку __dirname изменится в соответствии с файлом, который находится в процессе выполнения.

Таким образом, ваш путь должен быть

__dirname + "/public/lib/objects" //from app.js 

Примечание:

В структуре папок обновляемой выше, когда вы находитесь в getData.js, значение __dirname будет "/ ROOTPATH ​​/ приложение/хелперы". Чтобы попасть в objects папку оттуда, вы должны сделать

__dirname + "/../public/lib/objects" //from getData.js 
+0

Я попытался это уже. __dirname дает мне текущую папку, в которой путь helpers.so становится приложением/помощниками/public/lib/objects, что дает мне ошибку. Просто попробовал еще раз. –

+0

обновите вопрос с ошибкой, которую вы получили при попытке '__dirname +" /../ public/lib/objects "' в файле getData.js – mithunsatheesh

+0

обновили эту ошибку. дает то же местоположение для __dirname + "/ public/lib/objects" и __dirname + "/../public/lib/objects" –

Смежные вопросы