여러 지침이있는 AngularJS 응용 프로그램을 작성 중입니다. 지시어의 템플릿은 별도의 html 파일에 저장됩니다. 이 템플릿을 편집 할 때 브라우저는 다시로드 한 후 변경 사항을 감지하지 않고 항상 캐시 된 버전을 사용합니다. 소스 코드에 대한 다른 모든 변경 사항이 감지되어 다시로드됩니다.지시문 템플릿을 강제로 다시로드하십시오.
템플릿을로드 할 때 AngularJS에서 사용하는 것으로 보이는 $ templateCache는 다소 문제가있는 것 같습니다. 다른 사람이 이런 종류의 문제를했고 경우
$http.get(origAsyncDirective.templateUrl, {cache: $templateCache})
내가 궁금 : 나는 AngularJS와 1.0.2의 소스 코드에서 발견 무엇
는하여 compileTemplateUrl()의 일부 라인 4317에서 다음을하다 AngularJS에게 캐시 할시기와 그렇지 않을 때를 알려주는 방법이 있다면.
재 부하를 야기 번역. –
(더블 코멘트에 대해 유감이지만 더 이상 편집 할 수 없습니다 ...) 매번 템플릿을 다시로드하도록 캐시가 강제로 해킹 된 것처럼 보입니다. 그러나 나는 선택의 여지가 없다고 생각한다. Chrome에서 로컬 크롬 버전의 캐싱을 사용 중지하면 문제가 해결됩니다.웹 사이트를 탐색하는 다른 방문자는 여전히 캐시 된 버전을로드합니다. 따라서 프로덕션 모드의 업데이트는 사용자가 캐시를 지울 때까지 표시되지 않습니다. –
글쎄요, 저는 angularJS 프로젝트를 위해 Yeoman을 사용합니다. 따라서 배치 된 파일의 이름은 접두사가 붙습니다. 따라서 앱의 근본적인 변경 사항이 즉각적으로 인식되므로 캐시가 문제가되지 않습니다 (파일 이름이 다르게 지정됨). 테스트를 위해 Yeoman을 사용하고 모든 자산을 다시로드합니다. –