작업공간에서 파일 수정 및 저장

Sofia Emelianova
Sofia Emelianova

이 튜토리얼에서는 작업공간을 설정하여 자체 프로젝트에서 사용할 수 있도록 연습할 수 있는 기회를 제공합니다. Workspace를 사용하면 DevTools 내에서 변경한 사항을 컴퓨터에 저장된 소스 코드에 저장할 수 있습니다.

개요

Workspaces를 사용하면 DevTools에서 변경한 사항을 컴퓨터의 동일한 파일의 로컬 사본에 저장할 수 있습니다. 예를 들어 다음과 같이 가정해 보세요.

  • 데스크톱에 사이트의 소스 코드가 있습니다.
  • 소스 코드 디렉터리에서 로컬 웹 서버를 실행하므로 localhost:8080에서 사이트에 액세스할 수 있습니다.
  • Google Chrome에서 localhost:8080를 열고 DevTools를 사용하여 사이트의 CSS를 변경하고 있습니다.

워크스페이스를 사용 설정하면 DevTools 내에서 변경한 CSS가 데스크톱의 소스 코드에 저장됩니다.

제한사항

최신 프레임워크를 사용하는 경우 소스 코드가 유지 관리하기 쉬운 형식에서 최대한 빠르게 실행되도록 최적화된 형식으로 변환될 수 있습니다. 워크스페이스는 일반적으로 소스 맵을 사용하여 최적화된 코드를 원래 소스 코드에 다시 매핑할 수 있습니다.

DevTools 커뮤니티는 다양한 프레임워크 및 도구에서 소스 맵이 제공하는 기능을 지원하기 위해 노력하고 있습니다. 선택한 프레임워크로 워크스페이스를 사용하는 중에 문제가 발생하거나 맞춤 구성 후 워크스페이스가 작동하는 경우 메일링 리스트에서 대화목록을 시작하거나 Stack Overflow에서 질문하여 다른 DevTools 커뮤니티와 지식을 공유하세요.

관련 기능: 로컬 재정의

로컬 재정의는 워크스페이스와 유사한 또 다른 DevTools 기능입니다. 로컬 재정의를 사용하여 백엔드 변경사항을 기다리지 않고 웹 콘텐츠를 모의 처리하거나 헤더를 요청하거나 페이지 변경사항을 실험하려고 할 때 페이지 로드 전반에서 이러한 변경사항을 확인해야 하지만 변경사항을 페이지의 소스 코드에 매핑하는 것은 중요하지 않은 경우

1단계: 설정

이 튜토리얼을 완료하여 워크스페이스를 직접 사용해 보세요.

데모 설정

  1. 데모 저장소를 컴퓨터의 디렉터리에 클론합니다. 예를 들어 ~/Desktop로 재정의합니다.
  2. ~/Desktop/devtools-workspace-demo에서 로컬 웹 서버를 시작합니다. 아래는 SimpleHTTPServer를 시작하기 위한 샘플 코드이지만 원하는 서버를 사용할 수 있습니다.

    cd ~/Desktop/devtools-workspace-demo
    # If your Python version is 3.X
    # On Windows, try "python -m http.server" or "py -3 -m http.server"
    python3 -m http.server
    # If your Python version is 2.X
    python -m SimpleHTTPServer
    

    이 튜토리얼의 나머지 부분에서는 이 디렉터리를 /devtools-workspace-demo라고 합니다.

  3. Chrome에서 탭을 열고 로컬에서 호스팅되는 사이트 버전으로 이동합니다. localhost:8000와 같은 URL을 통해 액세스할 수 있습니다. 정확한 포트 번호는 다를 수 있습니다.

    Chrome에서 로컬 호스팅된 데모 페이지가 열립니다.

DevTools 설정

  1. 로컬에서 호스팅되는 데모 페이지에서 DevTools를 엽니다.

  2. 소스 > 워크스페이스로 이동하여 클론한 devtools-workspace-demo 폴더에 워크스페이스를 설정합니다. 다음과 같은 여러 가지 방법으로 이 작업을 수행할 수 있습니다.

    • 폴더를 소스편집기로 드래그 앤 드롭합니다.
    • 폴더 선택 링크를 클릭하고 폴더를 선택합니다.
    • 추가 폴더 추가를 클릭하고 폴더를 선택합니다. 소스 탭으로 이동한 다음 Workspace 탭으로 이동합니다.
  3. 상단의 메시지에서 허용을 클릭하여 DevTools에 디렉터리 읽기 및 쓰기 권한을 부여합니다.

    프롬프트의 허용 버튼

이제 작업공간 탭에서 index.html, script.js, styles.css 옆에 녹색 점이 표시됩니다. 녹색 점은 DevTools에서 페이지의 네트워크 리소스와 devtools-workspace-demo의 파일 간에 매핑을 설정했음을 나타냅니다.

이제 Workspace 탭에 로컬 파일과 네트워크 파일 간의 매핑이 표시됩니다.

2단계: CSS 변경사항을 디스크에 저장

  1. 텍스트 편집기에서 /devtools-workspace-demo/styles.css를 엽니다. h1 요소의 color 속성이 fuchsia로 설정된 것을 볼 수 있습니다.

    텍스트 편집기에서 styles.css를 봅니다.

  2. 텍스트 편집기를 닫습니다.

  3. DevTools로 돌아가서 요소 탭을 클릭합니다.

  4. <h1> 요소의 color 속성 값을 원하는 색상으로 변경합니다. 방법은 다음과 같습니다.

    1. DOM Tree에서 <h1> 요소를 클릭합니다.
    2. 스타일 창에서 h1 { color: fuchsia } CSS 규칙을 찾아 원하는 색상으로 변경합니다. 이 예시에서는 색상이 녹색으로 설정되어 있습니다.

    h1 요소의 color 속성을 녹색으로 설정합니다.

    스타일 창에서 styles.css:1 옆에 있는 녹색 점 녹색 점은 변경사항이 /devtools-workspace-demo/styles.css에 매핑되었음을 나타냅니다.

  5. 텍스트 편집기에서 /devtools-workspace-demo/styles.css를 다시 엽니다. 이제 color 속성이 좋아하는 색상으로 설정됩니다.

  6. 새로고칩니다. 페이지를 새로고침합니다. <h1> 요소의 색상은 여전히 좋아하는 색상으로 설정되어 있습니다. 변경사항을 적용하고 DevTools에서 변경사항을 디스크에 저장했기 때문에 이렇게 작동합니다. 그런 다음 페이지를 새로고침하면 로컬 서버가 디스크에서 수정된 파일 사본을 제공했습니다.

3단계: 디스크에 HTML 변경사항 저장

요소 패널에서 HTML을 변경해 봅니다.

  1. 요소 탭을 엽니다.
  2. h1 요소의 텍스트 콘텐츠(Workspaces Demo)를 두 번 클릭하고 I ❤️ Cake로 바꿉니다.

    Elements 패널의 DOM 트리에서 HTML을 변경하려고 시도합니다.

  3. 텍스트 편집기에서 /devtools-workspace-demo/index.html를 엽니다. 방금 변경한 내용이 표시되지 않습니다.

  4. 새로고칩니다. 페이지를 새로고침합니다. 페이지의 제목이 원래 제목으로 되돌아갑니다.

선택사항: 작동하지 않는 이유

  • Elements 패널에 표시되는 노드 트리는 페이지의 DOM을 나타냅니다.
  • 페이지를 표시하기 위해 브라우저는 네트워크를 통해 HTML을 가져와 HTML을 파싱한 후 DOM 노드 트리로 변환합니다.
  • 페이지에 JavaScript가 있는 경우 JavaScript가 DOM 노드를 추가, 삭제 또는 변경할 수 있습니다. CSS는 content 속성을 통해서도 DOM을 변경할 수 있습니다.
  • 브라우저는 결국 DOM을 사용하여 브라우저 사용자에게 표시할 콘텐츠를 결정합니다.
  • 따라서 사용자에게 표시되는 페이지의 최종 상태는 브라우저에서 가져온 HTML과 매우 다를 수 있습니다.
  • 따라서 DOM이 HTML, JavaScript, CSS의 영향을 받으므로 DevTools에서 Elements 패널에서 변경한 사항을 저장할 위치를 확인하기 어렵습니다.

즉, DOM 트리 !== HTML입니다.

소스 패널에서 HTML 변경

페이지의 HTML에 변경사항을 저장하려면 Sources 패널에서 저장합니다.

  1. 소스 > 페이지로 이동합니다.
  2. (index)(색인)를 클릭합니다. 페이지의 HTML이 열립니다.
  3. <h1>Workspaces Demo</h1><h1>I ❤️ Cake</h1>로 바꿉니다.
  4. Command+S (Mac) 또는 Control+S (Windows, Linux, ChromeOS)를 눌러 변경사항을 저장합니다.
  5. 새로고칩니다. 페이지를 새로고침합니다. <h1> 요소에 여전히 새 텍스트가 표시됩니다.

    Sources 패널에서 HTML을 변경합니다.

  6. /devtools-workspace-demo/index.html를 엽니다. <h1> 요소에는 새 텍스트가 포함됩니다.

4단계: JavaScript 변경사항을 디스크에 저장

Sources 패널은 JavaScript를 변경할 수 있는 곳이기도 합니다. 하지만 사이트를 변경하는 동안 요소 패널이나 콘솔 패널과 같은 다른 패널에 액세스해야 하는 경우가 있습니다. 소스 패널을 다른 패널과 함께 열 수 있는 방법이 있습니다.

  1. 요소 탭을 엽니다.
  2. Command+Shift+P (Mac) 또는 Control+Shift+P (Windows, Linux, ChromeOS)를 누릅니다. 명령어 메뉴가 열립니다.
  3. QS를 입력한 다음 빠른 소스 표시를 선택합니다. 이제 DevTools 창 하단에 빠른 소스 탭이 있습니다.

    명령 메뉴를 통해 빠른 소스 탭을 엽니다.

    탭에는 소스 패널에서 마지막으로 수정한 파일인 index.html의 콘텐츠가 표시됩니다. 빠른 소스 탭을 사용하면 소스 패널의 편집기를 사용할 수 있으므로 다른 패널을 열어둔 상태에서 파일을 수정할 수 있습니다.

  4. Command+P (Mac) 또는 Control+P (Windows, Linux, ChromeOS)를 눌러 파일 열기 대화상자를 엽니다.

  5. script를 입력한 다음 devtools-workspace-demo/script.js를 선택합니다.

    파일 열기 대화상자를 통해 스크립트 열기

  6. 데모에서 Edit and save files in a workspace 링크를 확인합니다. 정기적으로 스타일이 지정됩니다.

  7. 빠른 소스 탭의 script.js 하단에 다음 코드를 추가합니다.

    document.querySelector('a').style = 'font-style:italic';
    
  8. Command+S (Mac) 또는 Control+S (Windows, Linux, ChromeOS)를 눌러 변경사항을 저장합니다.

  9. 새로고칩니다. 페이지를 새로고침합니다. 이제 페이지의 링크가 기울임꼴로 표시됩니다.

이제 페이지의 링크가 기울임꼴로 표시됩니다.

다음 단계

작업공간에 여러 개의 폴더를 설정할 수 있습니다. 이러한 모든 폴더는 설정 > 워크스페이스에 표시됩니다.

다음으로 DevTools를 사용하여 CSS를 변경하고 JavaScript를 디버그하는 방법을 알아봅니다.