Vue에서 페이지를 이동 시킬때, 정상적으로 기능은 작동하더라도, 위와 같은 에러가 발생하는 경우가 있어서, 어떻게 해결했는지 공유해보고자 합니다. 원인 vue-router github의 답변을 보면, router.push 함수는 Promise 객체를 리턴하므로, 만약 navigation failure에 대해 catch를 제대로 해주지 않는다면 위와 같은 에러가 발생한다는 것이다. (왜냐하면, promise rejection을 catch해주지 않았기 때문이다.) 하지만, 이런 navagation failure은 항상 일어나게 된다. 말이 조금 어려웠다. 예를 들어 설명해보자. 1. 나는 현재 A페이지에 있고, B페이지로 가는 버튼을 클릭했다고 해보자. (여기에서 B페이지로 이동하는 함수, goToB()를..
전체보기
VSCode를 이용하여 Debugging을 하려고 하는데, 내가 설정한 breakpoint가 디버깅 모드만 들어가면 아래 사진처럼 unbound breakpoint로 바뀌면서 저 자리에서 멈추질 않았다. 문제는 launch.json파일에서 file mapping이 잘 되지 않아서 였다. 아래처럼 적용을 하니 정상적으로 작동하는 것을 볼 수 있었다. // launch.json { "version": "0.2.0", "configurations": [ { "type": "pwa-chrome", "name": "vuejs: chrome", "request": "launch", "url": "https://localhost:9090/", "breakOnLoad": true, "webRoot": "${worksp..
이 에러메시지는 eslintrc.js의 parserOption이 제대로 설정되지 않아서 생기는 문제이다. // .eslintrc.js parser: '@typescript-eslint/parser', parserOptions: { project: 'tsconfig.json', tsconfigRootDir: __dirname, sourceType: 'module', }, 위 처럼 설정을 해주면 정상적으로 작동한다. 나의 경우, tsconfigRootDir이 설정되어 있지 않았다.
Visual Studio Code를 사용하다보면 터미널에서 바로 열기 위해 code 명령어를 자주 사용하게 된다. 이 명령어는 Visual Studio Code에서 CMD + Shift + P 를 눌러서 code 를 입력하면 나오는 Shell Command: Install 'code' command in PATH 를 하면 되게 된다. 근데 문제는 컴퓨터를 껐다 키면 이 명령어가 사라져 있어서 매번 다시 해줘야 했던 것이다. 원인 원인은 Visual Studio Code 앱이 Downloads 폴더에 있었기 때문이다. 해결책 해결하기 위해서 Applications 폴더로 해당 앱을 옮겨주자. mv 명령어로 옮겨주자. 참고로 파일명에 띄워쓰기가 있으므로, \(역슬래쉬)를 통해서 공백을 인식하게 해주자. 잘 ..
프로젝트를 새로 만들어 진행 하고 있었는데, commit을 하려고 보니, 위와 같은 에러가 나오면서 정상적으로 작동 하지 않았다. 원인 이러한 상황이 벌어진 이유는 명확했다. 최상위 폴더가 아닌 하위 폴더에 .git 폴더가 하나더 생겼기 때문이다. 나의 경우, 파일구조는 아래와 갔았고 나는 backend에 .git 폴더가 하나더 생겨 있었다. 참고로 내 최상위 폴더는 yacafe라는 폴더였고 하위 폴더 구조는 아래와 같았다. 해결책 원인이 명확한 만큼, 해결책도 명확하다. (참고링크 : StackOverflow) 1. rm -rf /.git 먼저, 자식 폴더에 있는 .git을 지워주자. 이때, 최상위 폴더에 있는 정상적인 .git을 지우지 않도록 조심하자. 2. git rm --cached 이제 cach..
React / Nextjs 에서 Typescript를 사용할 때, Input의 타입을 어떻게 지정해야 할지 알아보자. 위 에러는 제대로 타입을 지정하지 않아서 생기는 문제이다. 특히나, 여기에서는 as HTMLElement로 타입을 캐스팅 하지 않고, 제대로 타입을 지정해 해결하는 방법을 정리하고자 한다. [ Cause ] 원인은 에러 메시지 그대로이다. 내가 작성한 방식대로라면, 매개변수 event(e)는 EventTarget 타입을 가지게 되는데, 이때 EventTarget이라는 타입에 value라는 속성이 없기 때문이다. [ Solution ] 해결책은 간단하고, 크게 2가지가 있다. 1. as HTMLInputElement 구글링을 해보니, 가장 많은 답변은 as 를 이용하여 Type을 강제로 H..