Skip to main content

Command Palette

Search for a command to run...

`.vue`에서 중단점 설정하기

Visual Studio Code에서 `.vue` 파일 중단점 설정

Updated
2 min read
`.vue`에서 중단점 설정하기

이전 글에서 Visual Studio Code로 Vue.js + TypeScript 개발 환경을 구성했다면 .js 파일 또는 .vue 파일을 디버깅 하기 위해 중단점을 설정할 수 있어야 합니다.

하지만 웹브라우저에서 동작하는 코드는 소스 자체가 아니므로

  1. 웹브라우저 디버거와 Visual Studio Code 디버거를 연결시켜야 하고

  2. 중단점을 설정했을 때 동작하는 코드가 아닌 소스코드의 중단점이 표시되어야 함

1.은 이전에는 별도의 확장을 설치해야 했지만 Visual Studio Code에 JavaScript Debugger 확장이 기본 설치되어 있으므로 별도의 확장을 설치할 필요는 없습니다.

2.의 경우 .ts.vue이 최종 웹브라우저에서는 적절한 .js 형식으로 변환되므로 설정을 해줘야 합니다.

웹팩 관련 설정

디버깅을 하기 위해서는 웹팩에 소스 맵을 이용해 특정 배포용 파일이 원본 소스의 어떤 부분인지 알려줘야 합니다. vue.config.js 파일을 프로젝트 루트에 다음의 코드로 생성합니다.

module.exports = {
  configureWebpack: {
    devtool: 'source-map'
  }
}

디버깅 관련 설정

Visual Studio Code에서도 역시 웹팩의 특정 경로가 실제 어떤 경로와 매핑되었는지 힌트를 줘야 합니다. launch.json에 다음과 같이 설정할 수 있습니다.

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "vuejs: chrome",
            "url": "http://localhost:5173",
            "webRoot": "${workspaceFolder}/src",
            "sourceMapPathOverrides": {
                "webpack:///./src/*": "${webRoot}/*",
                "webpack:///src/*": "${webRoot}/*",
                "webpack:///*": "*",
                "webpack:///./~/*": "${webRoot}/node_modules/*"
            }
        }
    ]
}

urlnpm run dev 로 실행되는 로컬의 url을 넣어줍니다. webRootsourceMapPathOverrides 을 통해 특정 위치의 파일이 어떤 소스코드 파일인지를 Visual Studio 디버거가 알 수 있도록 합니다.

중단점 설정 확인

이제 기본 생성된 프로젝트에서 src/App.vue의 코드를 다음과 같이 편집하여 중단점 설정이 잘 되는지 확인해봅시다.

이때 F5로 디버깅을 시작하기 전에 npm run dev를 미리 실행해둬야 합니다.

.vue 파일에 설정한 중단점이 잘 동작하는 것을 확인할 수 있습니다.

참고

https://itinerant.tistory.com/188

More from this blog

개발, 테스트, 운영에서의 도커 활용

핵심 원칙: "한 번 빌드하고, 어디서든 실행한다 (Build once, run anywhere)" 도커의 가장 큰 장점은 환경 일관성입니다. 동일한 도커 이미지를 사용하여 개발, 테스트, 운영 환경을 구성함으로써 "제 PC에서는 됐는데..." 하는 문제를 최소화할 수 있습니다. 1. 개발 단계 (Development) 목표: 빠른 코드 변경 반영, 쉬운 디버깅, 실제 운영 환경과 유사한 환경 구성. Docker 사용 방안: Dockerf...

May 9, 20256 min read15

[EF Core] 데이터 삭제 시 소프트 삭제 적용

DB에서 데이터를 삭제하면 일반적으로 복구할 수 없습니다. 또한 관계에 따라 영구 삭제 자체가 어려울 수도 있습니다. 그래서 데이터를 영구 삭제하는 대신 IsDeleted 속성을 true로 주고 IsDeleted 속성을 필터링해서 조회하는 방법을 사용하기도 합니다. 이를 소프트 삭제라고 합니다. 그런데 EF에서 알아서 데이터 삭제 시 소프트 삭제를 하고 쿼리시 IsDeleted 속성을 체크해서 삭제한 데이터를 제외한 데이터만 쿼리하게 하는 ...

Mar 18, 20243 min read19

[EF Core] ValueConverter를 이용해서 엔터티 속성의 도메인 관리

EF Core를 사용하면서 문자열 길이 등의 특성을 일일이 지정하는 것은 번거롭습니다. ... [MaxLength(32)] public string? 제목 { get; set; } 엔터티가 한 개일 때는 상관이 없으나 제목 유형이 여러 엔터티에 사용될 경우 유형을 지정하기 번거롭습니다. 속성 유형을 도메인으로 관리하면 참 편할텐데요, ValueConverter를 이용할 수 있습니다. 그런데 이것을 인터페이스 정적 추상를 사용해서 다음처럼 ...

Mar 16, 20242 min read8

디모이 블로그

154 posts

.NET 관련 기술을 선호하고 새로운 언어를 배우는데 관심이 있습니다.