JSON 데이터를 저장하기 위해 파일을 사용하고 있습니다. 내 모듈은 파일에 CRUD 작업을 수행하고 fs.readFile()
대신 json을로드하기 위해 require()
을 사용하고 있습니다. 문제는 파일이 삭제 된 경우 fs.unlink()
을 사용하여 require
을 사용하여 파일을 다시 호출해도 방금 삭제 된 파일을로드하는 것입니다. 나는이 문제를 해결하는 방법을 조금 잃어 버렸다. 아마도 가비지 콜렉션 일까?nodejs 파일 가비지 수집에서 json이 필요합니다.
예 : require
에 대한 후속 호출을 다시 드라이브에 액세스 할 필요가 없습니다 있도록
fs.writeFile('foo.json', JSON.stringify({foo:"bar"}), function(){
var j = require('./foo.json')
fs.unlink('./foo.json', function(){
console.log('File deleted')
var j = require('./foo.json')
console.log(j)
})
})
'require'는 안정적인 파일을위한 것이며 브라우저 캐시에 있기 때문에 여전히 나타납니다. 그래서 당신의 선택은 다음과 같다 : 1. 캐시를 버스트한다. 2. 대신에'fs.readFile()'를 사용하라. 나의 표는 후자를위한 것이다. –
여기에 동의 할 예정입니다. 내가 무엇보다 콜백 지옥을 줄이기 위해 찾고 있다고 생각해보십시오. @RobertHarvey이 대답을 답으로 쓰고 싶습니다. –