"server.js"라는 Node.js 파일이 있습니다. 스크립트에서 폴더 외부에서 Node.js 파일을 실행하면 파일 경로가 깨집니다.
, 나는 같은 것을 사용하여 일부 파일을 여는 오전 : bash 쉘을 사용var certPem = fs.readFileSync('cert_and_key_dev.pem', encoding='ascii');
을 경우 server.js이며, 명령 실행 디렉토리에 I CD를
을[mybashshell] $ 노드 server.js 그것은 작동
, 나는 오류 없어. 서버가 시작되고 실행됩니다.
이제 server.js 파일이있는 디렉토리에서 CD를 꺼낸 다음 동일한 쉘 명령을 다시 실행하여 서버를 시작하십시오.
내 "cert_and_key_dev.pem"파일 경로가 깨졌습니다.
이런 일이 발생할 것으로 예상하지 못했습니다. 나는 실행중인 스크립트 파일에 사용 된 경로가 bash 쉘 명령을 실행 한 위치가 아닌 스크립트 파일과 관련이 있어야한다.
아이디어가 있으십니까?
이 방법과 chbrown에서 제공하는 방법간에 이점이 있습니까? 나는 더 적절한 방법이 궁금합니다. – Zhang
그것은 실제로 목적에 달려 있습니다. 더 많은 "서버"를 실행한다면'__dirname'으로 변경하는 것이 좋습니다. 예를 들어, 폴더 업로드 스크립트를 실행하고 있다면 chbrown 코드를 사용하는 것이 좋습니다. 현재 작업 디렉터리 경로를 현재 스크립트의 디렉터리 경로 이상으로 사용하려는 빈도를 측정해야합니다. –