2016-08-25 3 views
1

안녕하세요 이것은 내 폴더 구조이며 app.js에서 serverError.log 파일을 가져 오거나 가져오고 싶습니다.Nodejs의 상대 경로 오류?

config 파일을 요구하려면 "require (../../../../../ config/db.js)"를 사용하고 db.js.But에 대해 잘 작동합니다. readFile ("../../../../../ log/serverError.log")을 제공하고 있습니다.

해당 파일이나 디렉토리를 제공하지 않으므로 '../../../../../log/serverError.log'를 엽니 다. 그러나 다른 기기에서는 잘 작동합니다.

그래서 누군가가 내가 특별히 path.resolve 경로 모듈을 사용하도록 추천이

/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

당신은 한 번 더 레벨 업 (이동 안, 즉' "../../../../ .. /../log/serverError.log "')? –

+0

두 컴퓨터에서 동일한 코드를 사용하는 경우 - 작업중인 코드와 작동하지 않는 코드가 모두있는 경우 - 현재 작업중인 디렉터리가 두 시스템에서 모두 동일한 지 확인하십시오? 즉, 두 시스템에서 동일한 방식으로 노드 프로세스를 시작 하시겠습니까? – cartant

+0

예 cartant는 모두 같은 방법입니다. 그러나 다른 컴퓨터에서는 작동하지만 컴퓨터에서는 정상적으로 작동하지 않습니다. –

답변

-1

를 도와 줄 수 있습니다().

path.resolve는 함수에 제공 한 항목에 대한 절대 경로를 생성합니다.

그래서 예를 들어 코드는 다음과 같습니다

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

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