2016-08-25 9 views
1

Здравствуйте, Это моя папка Structure, и я хочу потребовать/импортировать файл serverError.log в app.js.Ошибка относительного пути в Nodejs?

Чтобы выполнить конфигурационный файл, я использую «require (../../../../../ config/db.js)», и его работы отлично работают для db.js.But всякий раз, когда я я даю readFile («../../../../../ log/serverError.log»).

Не выдавая такого файла или каталога, откройте «../../../../../log/serverError.log». Но его рабочий тон в другой мехине.

Так может кто-нибудь помочь мне с этим

/home/akash/MYB_GIT 
└── mbox 
    ├── config 
    │   └── db.js 
    ├── log 
    │   └── serverError.log 
    ├── services 
    │   └── Node 
    │    ├── api 
    │    │   └── user 
    │    │    └── web 
    │    │     └── app.js 
    │    └── modules 
    │     ├── Admin 
    │     │   └── api1.js 
    │     ├── Guest 
    │     │   └── api2.js 
    │     └── user 
    │      └── api3.js 
    └── Test 
     └── seneca_client 
      ├── audit 
      └── user 
+0

Вы не должны идти еще на один уровень вверх (т.е. '» ../../../../ .. /../ войти/serverError.log "')? –

+0

Если у вас одинаковый код на двух машинах - с одним рабочим, а другой не работает, вы уверены, что текущие рабочие каталоги одинаковы на обеих машинах? То есть, вы уверены, что вы запускаете узел так же, как и на обеих машинах? – cartant

+0

Да, у нас есть такие же товары, как и у других машин, но не в моей машине. –

ответ

-1

Я бы порекомендовал вам использовать модуль PATH, в частности path.resolve().

path.resolve будет генерировать абсолютный путь к элементу, который вы предоставили функции.

Так, например, ваш код будет:

readFile(path.resolve("../../../../../log/serverError.log")) 

https://nodejs.org/docs/latest/api/path.html