DevTools의 새로운 기능 (Chrome 66)

Chrome 66의 DevTools에 도입되는 새로운 기능과 주요 변경사항은 다음과 같습니다.

계속 읽거나 아래에서 출시 노트의 동영상 버전을 시청하세요.

네트워크 패널에서 스크립트 무시

네트워크 패널의 Initiator(이니시에이터) 열에는 리소스가 요청된 이유가 표시됩니다. 예를 들어 JavaScript로 인해 이미지가 가져오면 Initiator 열에 요청을 일으킨 JavaScript 코드 줄이 표시됩니다.

이전에는 프레임워크가 네트워크 요청을 래퍼로 래핑하는 경우 Initiator 열이 그다지 유용하지 않았습니다. 모든 네트워크 요청이 동일한 래퍼 코드 라인을 가리켰습니다.

이 시나리오에서 가장 중요한 것은 요청을 일으키는 애플리케이션 코드를 확인하는 것입니다. 이제 다음과 같이 할 수 있습니다.

  1. Initiator(시작자) 열에 마우스를 가져갑니다. 요청을 일으킨 호출 스택이 팝업에 표시됩니다.
  2. 발신자 결과에서 숨기려는 통화를 마우스 오른쪽 버튼으로 클릭합니다.
  3. 무시 목록에 스크립트 추가를 선택합니다. 이제 Initiator 열에 무시한 스크립트의 호출이 모두 숨겨집니다.

'requests.js'를 무시합니다.

그림 1. requests.js 무시

설정무시 목록 탭에서 무시된 스크립트를 관리합니다.

스크립트 무시하는 방법에 관한 자세한 내용은 스크립트 또는 스크립트 패턴 무시를 참고하세요.

미리보기 및 응답 탭의 깔끔한 출력

이제 네트워크 패널의 미리보기 탭에서 리소스가 축소된 것을 감지하면 기본적으로 리소스를 멋진 형식으로 출력합니다.

미리보기 탭에서 기본적으로 analytics.js의 콘텐츠를 멋진 형식으로 출력합니다.

그림 2. 기본적으로 analytics.js의 콘텐츠를 멋진 형식으로 출력하는 미리보기

리소스의 축소되지 않은 버전을 보려면 응답 탭을 사용합니다. 새 형식 버튼을 통해 응답 탭에서 리소스를 수동으로 멋진 형식으로 출력할 수도 있습니다.

형식 버튼을 통해 analytics.js의 콘텐츠를 수동으로 멋진 형식으로 출력합니다.

그림 3. 서식 버튼을 통해 analytics.js의 콘텐츠를 수동으로 멋진 형식으로 출력

미리보기 탭에서 HTML 콘텐츠 미리보기

이전에는 네트워크 패널의 미리보기 탭이 특정 상황에서는 HTML 리소스의 코드를 표시하고 다른 상황에서는 HTML의 미리보기를 렌더링했습니다. 이제 미리보기 탭에서 항상 HTML의 기본 렌더링이 실행됩니다. 전체 브라우저가 아니므로 HTML이 예상한 대로 정확하게 표시되지 않을 수 있습니다. HTML 코드를 보려면 응답 탭을 클릭하거나 리소스를 마우스 오른쪽 버튼으로 클릭하고 소스 패널에서 열기를 선택합니다.

미리보기 탭에서 HTML을 미리 봅니다.

그림 4. 미리보기 탭에서 HTML 미리보기

기기 모드에서 확대/축소 자동 조정

기기 모드에서 확대/축소 드롭다운을 열고 확대/축소 자동 조정을 선택하면 기기 방향을 변경할 때마다 뷰포트 크기가 자동으로 조정됩니다.

이제 로컬 재정의가 HTML에 정의된 일부 스타일에서 작동합니다.

DevTools가 Chrome 65에서 로컬 재정의를 출시했을 때 한 가지 제한사항은 HTML 내에 정의된 스타일의 변경사항을 추적할 수 없다는 점입니다. 예를 들어 그림 7에서는 문서의 headh1 요소의 font-weight: bold를 선언하는 스타일 규칙이 있습니다.

HTML 내에 정의된 스타일의 예

그림 5. HTML 내에 정의된 스타일의 예

Chrome 65에서 DevTools Style 창을 통해 font-weight 선언을 변경하면 Local overrides가 변경사항을 추적하지 않았습니다. 즉, 다음에 새로고침하면 스타일이 font-weight: bold로 다시 돌아갑니다. 하지만 Chrome 66에서는 이와 같은 변경사항이 페이지 로드 간에 유지됩니다.

보너스 도움말: 프레임워크 스크립트를 무시하여 이벤트 리스너 중단점을 더 유용하게 만들기

JavaScript 디버깅 시작하기 동영상을 만들 때 일부 시청자는 이벤트 리스너가 프레임워크 코드로 래핑되는 경우가 많으므로 프레임워크를 기반으로 빌드된 앱에는 이벤트 리스너 브레이크포인트가 유용하지 않다고 언급했습니다. 예를 들어 그림 8에서는 DevTools에 click 중단점을 설정했습니다. 데모에서 버튼을 클릭하면 DevTools가 리스너 코드의 첫 줄에서 자동으로 일시중지됩니다. 이 경우 1802번 줄의 Vue.js 래퍼 코드에서 일시중지되며 이는 그다지 유용하지 않습니다.

클릭 중단점이 Vue.js의 래퍼 코드에서 일시중지됩니다.

그림 6. click 중단점이 Vue.js의 래퍼 코드에서 일시중지됨

Vue.js 스크립트가 별도의 파일에 있으므로 이 click 중단점을 더 유용하게 만들기 위해 호출 스택 창에서 해당 스크립트를 무시할 수 있습니다.

호출 스택 창에서 Vue.js 스크립트를 무시합니다.

그림 7. 호출 스택 창에서 Vue.js 스크립트 무시

다음에 버튼을 클릭하고 click 중단점을 트리거하면 Vue.js 코드가 일시중지되지 않고 실행된 다음 앱 리스너의 첫 번째 코드 줄에서 일시중지됩니다. 이 줄에서 항상 일시중지하고 싶었습니다.

이제 클릭 중단점이 앱의 리스너 코드에서 일시중지됩니다.

그림 8. 이제 click 중단점이 앱의 리스너 코드에서 일시중지됩니다.

미리보기 채널 다운로드

Chrome Canary, 개발자 또는 베타를 기본 개발 브라우저로 사용하는 것이 좋습니다. 이러한 미리보기 채널을 사용하면 최신 DevTools 기능에 액세스하고, 최신 웹 플랫폼 API를 테스트하고, 사용자가 발견하기 전에 사이트에서 문제를 찾을 수 있습니다.

Chrome DevTools팀에 문의하기

다음 옵션을 사용하여 DevTools와 관련된 새로운 기능, 업데이트 또는 기타 사항을 논의하세요.

DevTools의 새로운 기능

DevTools의 새로운 기능 시리즈에서 다룬 모든 항목의 목록입니다.