[node.js] Node.js는 파일을 열 수 없습니다. 오류 : ENOENT, 통계 ‘./path/to/file’

내 컴퓨터에서 Express 프레임 워크를 사용하여 node.js 프로그램을 개발했으며 불만없이 정상적으로 실행됩니다.

그러나 SUSE Studio 어플라이언스에서 프로그램을 실행하려고하면 파일 상호 작용시 오류가 발생합니다.

Error: ENOENT, stat './path/to/file'

파일 권한이 올바른지 확인했습니다. 내 컴퓨터와 어플라이언스가 중요한 경우 다른 버전의 노드를 실행하고 있습니다.

이견있는 사람?



답변

a .로 지정된 경로 는 스크립트 파일이 아닌 현재 작업 디렉토리를 기준으로합니다. 따라서 실행하면 파일을 찾을 수 node app.js있지만 실행하면 찾을 수 없습니다 node folder/app.js. 이것에 대한 유일한 예외는 모듈 당 존재하므로 어떤 모듈에서 호출되는지 알고 require('./file')있기 때문에 가능 require합니다.

스크립트를 기준으로 경로를 만들려면 __dirname변수 를 사용해야합니다 .

var path = require('path');

path.join(__dirname, 'path/to/file')

또는 잠재적으로

path.join(__dirname, 'path', 'to', 'file')


답변

여기 app.js를 사용하는 코드

입력은 파일 이름을 지정합니다

res.download(__dirname+'/'+input);


답변