IT story

Chrome의 스크립트 디버거가 자바 스크립트를 다시로드하도록 강제하는 방법은 무엇입니까?

hot-time 2020. 4. 12. 10:31
반응형

Chrome의 스크립트 디버거가 자바 스크립트를 다시로드하도록 강제하는 방법은 무엇입니까?


크롬 디버거에서 자바 스크립트를 편집하는 기능이 정말 마음에 들지만 디버거가 서버에서 JavaScript를 다시 가져 오는 것이 실제로 문제가 될 수 있습니다.

때로는 디버거를 닫고 프레임을 다시로드해도 괜찮습니다.하지만 다른 경우 (이 상황에서 dI를 찾을 수 없습니다) 임시 인터넷 캐시를 지워야합니다. 때로는 크롬을 완전히 닫고 캐시를 지운 다음 디버거가 마지막으로 최신 스크립트를 표시하기 전에 페이지를로드해야한다고 맹세합니다.

(NB. 웹 서버에 의한 스크립트 캐싱이 없습니다)

누구나 디버거에게 모든 자바 스크립트를 무효화하고 페이지를 다시로드 할 때 새로 가져 오도록 빠르고 쉬운 방법을 알고 있는지 궁금합니다.


스크립트를 개발하는 동안 Chrome 캐시를 사용 중지 해보세요.

페이지를 다시로드하면 JavaScript가 새로 고쳐집니다.


2011 년경 크롬

설정 열기 캐시 비활성화


2018 년경 크롬

설정 열기 캐시 비활성화

네트워크 탭에서 액세스 할 수도 있습니다.

네트워크 탭


여기에 이미지 설명을 입력하십시오

Chrome 개발자 도구가 열려있는 동안 '다시로드'버튼 마우스 오른쪽 버튼으로 클릭 / 누르고 있으면 위에 표시된 상황에 맞는 메뉴에 액세스 할 수 있습니다 .

캐시 비우기와 하드 새로 고침이 가장 효과적입니다.

다른 장점 : 이 옵션은 열려있는 다른 모든 탭과 웹 사이트 데이터를 그대로 유지합니다. 현재 페이지 만 다시로드하고 지 웁니다.


다음을 수행하여 항상 특정 파일을 지울 수 있습니다.

  1. 개발 도구 열기
  2. 소스 탭을 클릭하십시오
  3. 스크립트 / 이미지 / 파일 찾기
  4. 오른쪽 패널에서 파일이 최신인지 확인하십시오

그렇지 않은 경우 :

  1. 왼쪽 패널에서 리소스를 마우스 오른쪽 버튼으로 클릭하고 '새 탭에서 링크 열기'를 선택하십시오.
  2. 위의 방법으로 리소스를 강제로 다시로드하십시오. (@Bishoy Hanna의 예 참조)

프레임에있는 리소스가 있고 CTRL+F5강제로 새로 고치지 않는 경우 매우 유용 합니다.


Shift+ F5캐시를 빠르게 지 웁니다.


Google 크롬의 경우 Ctrl+ 가 아닙니다 F5. 그것은이다 Shift+ F5현재 캐시를 지우려면! 그것은 나를 위해 작동합니다!


DevTools에 대한 바로 가기는 다음과 같습니다.

  1. F12 Chrome DevTools를 여는 방법
  2. F1 DevTools 설정을 여는 방법
  3. 아래와 같이 캐시 비활성화 (DevTools가 열린 상태)확인하십시오 .

여기에 이미지 설명을 입력하십시오

참고 : Dimi의 의견에 따라 업데이트되었습니다. 그들은 이동하는 경향이 있으므로 게시물이 변경되었음을 알게되면 알려주거나 업데이트하십시오.


Windows에서 Ctrl+ Shift+ r는 크롬에서 스크립트를 강제로 다시로드합니다.


개발자 도구에서 자바 스크립트를 로컬로 변경하는 경우 페이지를 다시로드하기 전에 해당 변경 사항을 해제해야합니다.

소스 탭에서 스크립트를 연 상태에서 스크립트를 마우스 오른쪽 단추로 클릭하고 상황에 맞는 메뉴에서 "로컬 수정"옵션을 클릭하십시오. 수정 사항을 저장 한 스크립트 목록이 나타납니다. 해당 창에 표시되는 경우 개발자 도구는 서버에서 로컬 복사본을 새로 고치지 않고 항상 로컬 복사본을 유지합니다. "되돌아 가기"버튼을 클릭 한 다음 다시 새로 고침하면 새로운 사본을 얻을 수 있습니다.


Chrome 디버거가 소스 파일을 메모리에로드하고 브라우저 캐시 업데이트에도 불구하고 파일을 보내지 않는 것처럼 보입니다. 즉, 동기화되지 않은 브라우저 캐시와 별도로 자체 캐시가 있습니다. 적어도 소스 매핑 파일로 작업 할 때 (타입 스크립트 소스를 디버깅하고 있습니다) 경우입니다. 브라우저 캐시를 새로 고치고 소스 파일을 직접 찾아서 유효성을 검사 한 후 업데이트 된 파일을 다운로드하지만 디버거에서 파일을 다시 열면 일반 브라우저 캐시의 버전에 관계없이 이전 파일이 계속 반환됩니다. 정말 짜증나.

나는 이것을 크롬의 버그로 생각할 것입니다. 버전 46.0.2490.71 m 버전을 사용합니다.

도움이되는 유일한 것은 크롬을 다시 시작하는 것입니다 (모든 크롬 브라우저를 닫으십시오).


로드하는 파일이 캐시되고 변경 한 내용이 코드에 반영되지 않는 경우이 문제를 처리 할 수있는 두 가지 방법이 있습니다

  1. 모두가 말한대로 캐시를 비 웁니다

  2. 캐시를 원하고 파일 만 다시로드해야하는 경우 dev 도구의 네트워크 탭으로 이동하여로드 된 항목을 모두 지울 수 있습니다. 다음에 캐시에서로드하지 않습니다. 최신 변경 사항이 있습니다.


Apache에서 로컬 서버를 실행중인 경우 캐싱 문제와 유사한 모양을 얻을 수 있습니다. Vagrant (virtualbox)에서 Apache 서버를 실행했을 때 이런 일이 일어났습니다.

다음 줄을 구성 파일에 추가하십시오 ( /etc/httpd/conf/httpd.conf또는 이와 동등한 것).

#Disable image serving for network mounted drive
EnableSendfile off

구성 파일을 검색하여 다른 곳 EnableSendfile으로 설정되어 있는지 확인하는 것이 on좋습니다.


또한 2 가지 (빠른) 해결 방법이 있습니다.

  1. 시크릿 모드 wile 디버깅을 사용하고 창을 닫았다가 다시여십시오.
  2. 인터넷 사용 기록 삭제

중단 점을 비활성화하면 새 스크립트가로드됩니다.


내 의견으로는 자바 스크립트 파일이 캐시에서 나오지 않도록 크롬의 '비공개 브라우징 세션'에서 작업하는 것이 가장 쉽습니다.


이 Chrome 확장 프로그램을 사용하여 캐시 사용 여부를 빠르게 전환 할 수도 있습니다 ( https://chrome.google.com/webstore/detail/cache-killer/jpfbieopdmepaolggioebjmedmclkbap)

참고 URL : https://stackoverflow.com/questions/7078953/how-to-force-chromes-script-debugger-to-reload-javascript

반응형