💻 Web

[Frontend/Nuxt] Nuxt3에서 달력 라이브러리 사용하기

2023. 9. 24. 13:20

달력을 직접 커스텀하기에는 시간 상 한계가 있을 것 같아서 나와 있는 달력 라이브러리를 사용하고자 했다.

But,

(1) vuetify에서 제공하는 v-calendar 라이브러리 사용 - native component는 등록하라며 에러 발생

(2) v-calendar 라이브러리 사용 - maximum stack size 어쩌고... 발생 

으로 몇 시간 가량 삽질을 하다가...

Nuxt에서 SSR로 동작할 때 문제가 발생하며, 라이브러리를 다르게 사용해야 한다는 것을 알게 되어서 내용 기록해 둔다! 

 


 

우선 내가 사용한 건 이 v-calendar 라이브러리이다.

 

Welcome | VCalendar

 

vcalendar.io

 

(1) 설치하기

yarn add v-calendar@next @popperjs/core

 

 

(2) 플러그인 등록

-1. plugins > v-calendar.ts 파일 만들기 

import VCalendar from "v-calendar";
// import 'v-calendar/style.css';
import "~/assets/scss/v-calendar.css";

export default defineNuxtPlugin((nuxtApp) => {
    nuxtApp.vueApp.use(VCalendar);
});

 

-2. nuxt.config.ts 에 플러그인 등록 

*client 모드로 설정 필必

plugins: [
        {
            src: "~/plugins/v-calendar",
            mode: "client",
        },
    ],

 

(3) 컴포넌트 사용

*CSR에서만 동작하므로 태그로 감싸 주어야 함! 

<template>
    <client-only>
        <VCalendar
            style="width: 90%"
            trim-weeks
            :attributes="attributes"
            @dayclick="onDayClick"
        />
    </client-only>
</template>

완성! 

 

 


[참고] 

https://islet4you.tistory.com/entry/v-calendar-Nuxt3%EC%97%90%EC%84%9C-V-calendar-%EC%84%B8%ED%8C%85

'💻 Web' 카테고리의 다른 글

[Frontend/Web] CORS 총정리  (0) 2023.05.24
'💻 Web' 카테고리의 다른 글
  • [Frontend/Web] CORS 총정리
시니유
시니유
UX 개선에 관심이 많은 Frontend & Android 개발자
  • 시니유
    시니유의 개발 블로그
    시니유
  • 전체
    오늘
    어제
    • 분류 전체보기 (23)
      • 💻 Web (2)
      • 💻 Android (8)
      • 🔥 대외활동 (8)
      • ⚒️ 기타 (5)
  • 최근 댓글

  • 링크

    • Github
    • LinkedIn
    • Resume
  • hELLO· Designed By정상우.v4.10.0
시니유
[Frontend/Nuxt] Nuxt3에서 달력 라이브러리 사용하기
github 상단으로

티스토리툴바