Guidebook
ComponentsStorybook

Frameworks

Vue

Vue 3.5의 공식 가이드 흐름에 따라 컴포넌트 구현 문법을 확인합니다.

이 저장소는 Vue 3.5의 Single-File Component와 Composition API를 사용합니다. 루트에서 pnpm dev:vue를 실행하면 6103 포트에 개발 서버를 엽니다.

Vue란?

Vue는 웹 사용자 interface를 만들기 위한 progressive JavaScript framework입니다. HTML 기반 template에 state를 선언적으로 연결하고, reactive state가 변경되면 필요한 DOM만 갱신합니다. 기존 HTML 화면의 일부에 점진적으로 적용할 수도 있고 Router와 상태 관리 도구를 결합해 전체 application을 구성할 수도 있습니다.

주요 특징

  • HTML, CSS, JavaScript를 한 파일에서 관리하는 Single-File Component
  • ref, reactive, computed 기반의 반응형 상태 모델
  • props와 emits를 이용한 명시적인 부모·자식 component 계약
  • directive와 template 문법을 이용한 조건·목록·event·form binding
  • Composition API를 이용한 상태 logic의 분리와 재사용

역할

@uxkm/vue는 시각 token과 접근성 계약을 Vue component API로 제공합니다. prop은 variant와 상태를 전달하고, emit과 v-model은 사용자 입력을 부모 state에 연결하며, slot은 icon이나 복합 콘텐츠를 합성합니다. Nuxt는 동일한 component를 재사용하되 SSR과 hydration 결과도 함께 검증합니다.

문서 구성

메뉴 내용
빠른 시작 프로젝트 생성, 앱 실행과 package 연결
핵심 기초 템플릿, 조건·목록, 이벤트와 폼 바인딩
상태와 반응성 ref, computed, watch와 폼 상태
컴포넌트 심화 props, emits, v-model, slot과 사용법
페이지와 라우팅 Vue Router 수동 연결과 Nuxt 파일 기반 route 생성
재사용성 composable, custom directive와 plugin
내장 컴포넌트 Transition, KeepAlive, Teleport와 Suspense
확장하기 Router, 상태 관리, 테스트와 SSR
베스트 프랙티스 배포, 성능, 접근성과 보안
TypeScript Composition API와 component type
추가 주제 반응성·렌더링 심화와 Web Components

사용 시작

vue<script setup>
import Button from '@uxkm/vue/button';
</script>

<template>
  <Button variant="filled">저장</Button>
</template>

Nuxt에서도 @uxkm/vue/* export를 재사용합니다. SSR 환경에서는 server와 client가 만드는 초기 마크업이 일치하는지 함께 확인합니다.

공식 문서

가이드북소개기초디자인 토큰기초접근성컴포넌트기본 요소컴포넌트레이아웃컴포넌트폼컴포넌트네비게이션컴포넌트데이터 표시컴포넌트피드백컴포넌트기타활용 가이드UI 패턴활용 가이드작성 지침프레임워크프레임워크 구현프레임워크Gulp프레임워크GulpGulp 시작프레임워크GulpGulp 기본 설정프레임워크GulpGulp 기본 API프레임워크GulpHTML 편집 (Gulp NJK)프레임워크GulpWeb Server & Watching Files프레임워크GulpAssets 세팅프레임워크Gulp배포 (Deploying)프레임워크Vue프레임워크Vue빠른 시작프레임워크Vue핵심 기초프레임워크Vue상태와 반응성프레임워크Vue컴포넌트 심화프레임워크Vue페이지와 라우팅프레임워크Vue재사용성프레임워크Vue내장 컴포넌트프레임워크Vue확장하기프레임워크Vue베스트 프랙티스프레임워크VueTypeScript프레임워크Vue추가 주제프레임워크React프레임워크React빠르게 시작하기프레임워크ReactUI 표현프레임워크React조건과 목록프레임워크React상호작용프레임워크React페이지와 라우팅프레임워크ReactState 관리프레임워크React탈출구프레임워크ReactReact로 사고하기프레임워크WebSquare프레임워크WebSquare스튜디오프레임워크WebSquare화면과 이벤트프레임워크WebSquare컴포넌트프레임워크WebSquareDataCollection프레임워크WebSquareSubmission프레임워크WebSquare사용하기프레임워크WebSquareSP5 설정프레임워크WebSquare심화 가이드프레임워크Svelte프레임워크Svelte빠른 시작프레임워크Svelte핵심 기초프레임워크Svelte상태와 반응성프레임워크Svelte컴포넌트 심화프레임워크Svelte페이지와 라우팅프레임워크SvelteTypeScript프레임워크Svelte베스트 프랙티스프레임워크SolidJS프레임워크SolidJS빠른 시작프레임워크SolidJSUI 표현프레임워크SolidJSSignals와 Effects프레임워크SolidJS컴포넌트 심화프레임워크SolidJS페이지와 라우팅프레임워크SolidJS베스트 프랙티스프레임워크Qwik프레임워크Qwik빠른 시작프레임워크Qwik컴포넌트프레임워크Qwik상태와 반응성프레임워크Qwik페이지와 라우팅프레임워크Qwik베스트 프랙티스프레임워크Remix프레임워크Remix빠른 시작프레임워크RemixUI 표현프레임워크Remix페이지와 라우팅프레임워크RemixLoader와 Action프레임워크Remix베스트 프랙티스프레임워크Angular프레임워크Angular빠른 시작프레임워크Angular핵심 기초프레임워크Angular상태와 반응성프레임워크Angular컴포넌트 심화프레임워크Angular페이지와 라우팅프레임워크AngularTypeScript프레임워크Angular베스트 프랙티스프레임워크Astro프레임워크Astro빠른 시작프레임워크Astro페이지와 라우팅프레임워크AstroIslands프레임워크Astro컴포넌트 통합프레임워크Astro베스트 프랙티스