2014-04-27 5 views
1

나는 내가 사용하는 프로세스 디렉토리를 변경할 수 있습니다 알고Node.js에서 요청의 현재 작업 디렉토리를 설정하는 방법은 무엇입니까?

process.chdir('/temp/foo'); 

그러나 나는 모든 요청에 ​​대해 디렉토리를 변경하지 않습니다.

들어오는 요청에 따라 다른 작업 디렉토리를 사용하고 싶습니다. 예를 들어 요청이 이미지를위한 경우, 작업 디렉토리를 이미지 디렉토리로 변경하려고합니다. 요청이 업로드에 대한 것이면 현재 작업 디렉토리를 업로드 폴더로 변경하려고합니다.

요청 유형에 따라 다른 폴더에 다른 파일이 있으므로 각 요청에 대해 현재 작업 디렉터리를 설정할 수 있으면 더 쉽습니다.

같은 서버에서 처리되는 다른 모든 요청에 ​​대한 작업 디렉토리를 변경하고 싶지 않습니다. 각 요청의 작업 디렉토리는 해당 요청에 고유해야합니다.

답변

1

어떤 경로 참조로 작업 할 때 단지 "작업"디렉토리 앞에 추가 :

function request1() { 
    var workingDir = 'prefered/working/path'; 
    var path = path.resolve(workingDir, 'file.ext'); 
    var stats = fs.statSync(path); 
} 
+0

그래서 나는 모든 곳에서 절대 경로를 사용할 필요가 있습니까? 나는 현재 작업 디렉토리를 설정하고 거기서부터 상대 경로를 사용하기를 희망했다. – esnm

+0

당신은 필요가 없습니다. 'path.join (relativePath, 'file.ext');' – Sukima

+0

당신이하고있는 일을 볼 수 있습니다. 그리고 내가 할 수있는 것처럼 요청에 cwd를 설정할 방법이 없다면,이 방법을 사용할 것입니다. 본질적으로 내가 정의한 모든 변수를 사용하여 절대 경로로 결정한 다음 모든 곳에서 사용하는 것처럼 보입니다. – esnm

관련 문제