2024/12 6

[Nuxt] useFetch 에 await 가 필요할까

useFetch 를 사용하다보면 누군가는 await 를 선언해서 사용하고 누군가는 그대로 사용하는 것을 볼수 있습니다.SSR (universal)로 페이지를 렌더링한다는 전제하에 페이지를 리프레시해보면 별다른 차이는 느낄수 없습니다.다음과 같은 코드가 있다고 가정합니다.// index.vue Poketmons {{ pokenmon.pokemon }} Refresh // about.vue About // Navie.vue Home About// server/api/hello.tsfunction sleep (ms: number): Promise { return new Promise((resolve, reject) => { ..

코드/Nuxt3 2024.12.28

[Git] ahead, behind 의 정의

가끔 헷갈리는 경우가 있어서 정리합니다. behind의미: 현재 브랜치가 원격 브랜치에 비해 뒤쳐져 있음을 의미합니다.상황: 원격 브랜치에 추가된 커밋이 있고, 로컬 브랜치에는 없는 경우.원인: 다른 팀원이 원격 브랜치에 푸시(push)한 이후, 로컬에서 git pull을 하지 않았을 때 발생합니다.Your branch is behind 'origin/main' by 3 commits. 현재 로컬 브랜치가 origin/main 브랜치에 비해 3개의 커밋이 부족함을 의미합니다.pull 을 통해 변경사항을 가져 오면 됩니다. ahead의미: 현재 브랜치가 원격 브랜치에 비해 앞서 있음을 의미합니다.상황: 로컬 브랜치에서 커밋이 추가되었으나, 원격 브랜치로 아직 푸시(push)되지 않은 경우.원인: 로컬에서 ..

코드/Git 2024.12.26

[Vue-Router] route match regular expression

라우트 경로를 정규표현식을 사용하여 표현할수 있습니다.const routes = [ { name: 'login', path: '/regex/:id(\\d), // 대부분의 정규표현식의 사용이 가능합니다. path: '/regex/:id()\\d+) component: import('@views/login-view.vue') }] 위와 같이 선언할 경우 /regex/123 같은 url 경로에도 login-view 페이지가 보여집니다. 그리고 아래와 같이 선언할 경우 /regex/id 이후에 붙는 모든 /id(/number) 가 동일하게 매칭됩니다.const routes = [ { name: 'login', path: '/regex/:id(\\d+)+, com..

코드/Nuxt3 2024.12.22

[Vue-Router] isNavigationFailure, NavigationFailureType

Router 이동시 navigation error 가 발생하는 경우가 종종 있습니다.navigation guide 혹은, 다른 라우터 이동중인데 다른 라우터 이동이 발생한다던가 하는 등 실제 서비스 환경에서는 여러가지 상황이 발생합니다.상황은 여러가지지만 라우터 에러 처리를 위해서 에러를 캐치해야 합니다.다음과 같이 임의로 에러를 발생시킵니다. All Destinations Trigger Router Error  Home.vue에서 home 으로 라우트 이동시키면 router dupllicated  오류가 발생합니다.router.push 는 정상적인 라우트 이동이 이루어질 경우 undefined 를 반환합니다.(vue 3 버전의 vue-router 4.x )아무 것도 반..

코드/Nuxt3 2024.12.22

[vue-router] Extraneous non-props attributes (experienceSlug) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.

vue router 를 중첩 라우팅 처리하면서 발생한 이슈입니다.컴포넌트에 전달된 속성(attribute)가 렌더링 과정에서 적절히 처리되지 못했을 경우에 발생합니다. experienceSlug 라는 속성을 컴포너트에 전달했지만, 해당 속성이 컴포넌트 내부에서 명시적으로 처리되지 않았거나, 컴포넌트가 Fragment 또는 텍스트 노드만 반환하는 경우 발생합니다.Vue 3에서 기본적으로 props가 아닌 속성(non-props attributes)은 루트 엘리먼트로 자동으로 전달됩니다. 하지만 컴포넌트가 Fragment나 텍스트 노드를 반환할 경우 속성을 전달할 루트 엘리먼트가 없어 이 경고가 발생합니다. router-view 는 상위 app.vue에 존재합니다.{ name: 'destination'..

카테고리 없음 2024.12.06