2017-03-25 3 views
1

가정하자 루트 경로에서 모듈을 필요내가이 디렉토리를했습니다

require('inner2/innermost/b') 

그것은 C:\\src\\inner2\\innermost\\b.js에서 보낸 값을 반환해야합니다,하지만 난 실행 스크립트 상대 경로를 사용하고 싶지는 않습니다. 예 :

require('../inner2/innermost/b') 

그래서 indepen 현재 스크립트 디렉토리에 가깝게, 나는 그런 루트 경로에서 모듈을 요구하고 싶다.

어떻게하면됩니까? package.json에서 뭔가를 지정해야하는 경우에는 문제가 없습니다.

+0

살펴 https://nodejs.org/docs/latest/api/globals.html#globals_dirname –

+0

@GeorgiyDubrov 흥미를 가지고 시도하지만, 그것은 디렉토리에 따라 다릅니다. –

+0

@matt GLOBAL 부분을 놓쳤습니다. dirname을 사용하지만 sub .js 파일로 전달할 수있는 GLOBAL 변수로 설정 한 모든 것을 시작하는 루트 .js 파일에서. – Darkrum

답변

1

는 __dirname`가 고정 디렉토리가 아니다 '이런 식으로

path = require('path'); 
path.resolve('../inner2/mostinner/b'); 
+0

불행히도 이것은 내가 원하지 않는 예와 동일하지만 도움을 주셔서 감사합니다 :). –

+0

@Matt 현재 사용중인 OS는 무엇입니까? 창문에서 테스트 해보니 정확히 같은 방식으로 작동합니다. –

+0

예, 작동합니다; 루트 ('C : \\ src')에 상대 경로를 사용하지 않습니다. 이'C : \\ src' 경로에서 직접 요구하고 싶습니다 : 예 :'require ('inner2/mostinner/b')', 나는 내 질문에 당신의 예를 말했습니다. –