에 유효한 문자열을 반환, 나는 init
기능이 : fs.readFileSync은 때때로 특정 상황 내 노드 응용 프로그램에서
그래서 나는 vscode에서 디버깅 및 변수SyntaxError: Unexpected end of JSON input
content
만
readFileSync
는 빈 문자열을 반환하는 것을 의미 빈 문자열이 포함 된 것을 발견했다.
이제 이상한 점이 있습니다. cmd 또는 git bash (일반 모드 또는 디버그) 또는 vscode의 디버그 모드에서 시작된 경우에는 작동하지 않지만 vscode에서 디버거를 다시 시작하면 (시작 및 중지하지 않지만 실제로 재시작 버튼을 누르는 경우) 작동하지 않습니다. json 파일의 내용을 매번 readFileSync에서 반환 된 문자열로 수정하십시오.
업데이트 : schedule.json 파일을 삭제 한 다음 코드를 실행 해 보았습니다. 실제로는 if(!fs.existsSync("../schedule.json"))
진술을 입력하지 않은 것으로 나타났습니다. 캐싱 버그와 거의 같습니다. 일이 비동기 적으로 발생됩니다 pipe
그것은 기존의 파일을보고해야 그 블록을 입력 있지 않다면, 당신의 편집에 관하여. 상대 경로가 정확하고, 프로젝트/작업 디렉토리 주위에 다른'schedule.json'을 가져 오지 않았습니까? –
@JamesThorpe 나는 바보 같았습니다. js 파일이 별도의 폴더에 있더라도 exress가 루트 디렉토리를 사용하는 것처럼 보입니다. 그래서 조부모 디렉토리에 파일을 저장했습니다. 왜 헤비 기어를 타고 달리는 것이 왜 효과가 있었는지 아직 확신 할 수 없습니까? –