vue
CHAPTER 4 / 34
읽기 약 2분
SYNTAX
AI 프롬프트로 Vue 3 200% 활용하기
핵심 개념
Vue 3을 배우면서 AI를 코딩 파트너로 쓰는 11개 실전 프롬프트. 4단계 공식으로 AI 답변 품질을 극적으로 끌어올린다.
본문
이 챕터는 Vue 3을 배우면서 AI를 코딩 파트너로 활용하는 11개 프롬프트를 제공합니다. 각 프롬프트마다 ❌나쁜 예와 ✅좋은 예를 비교합니다.
💡 4단계 공식
1. 역할 / 2. 맥락 / 3. 지시 / 4. 형식🟢 기초 (1~4)
1. ref / reactive
❌ ref와 reactive 차이
✅
ref와 reactive를 비교표로 정리해줘.
각 행: 사용 대상 / .value 필요 여부 / 깊은 반응성 /
주의점 / 추천 사용처. 코드 예시 5개 포함.2. v-bind / v-on
❌ v-bind 사용법
✅
v-bind와 v-on의 다양한 형태를 정리해줘.
약식(:, @) / 객체 바인딩 / 동적 인자 v-bind:[key] /
수정자(.prevent .stop .self) / 코드 예시 + 언제 무엇을 쓰는지.3. v-if / v-for
❌ 조건문 반복문
✅
v-if와 v-show 차이 + v-for의 key 중요성을
잘못된 예 vs 올바른 예 코드 비교로 보여줘.
v-for와 v-if를 같은 요소에 쓰면 안 되는 이유도.4. 컴포넌트 + props
❌ 컴포넌트 만들기
✅
<script setup lang='ts'>로 props 타입 정의 +
기본값 + 검증 + emits 타입까지 포함한
Button 컴포넌트를 만들어줘. 사용 예시 포함.🟡 중급 (5~8)
5. Composition API
❌ Composition API 알려줘
✅
Options API로 짠 카운터를 Composition API + <script setup>으로
리팩터링하는 단계를 보여줘. 각 변경 이유와
this가 사라진 이유를 주석으로.6. computed / watch
❌ computed와 watch
✅
computed vs watch vs watchEffect 차이를
같은 데이터(검색어 → 결과)로 3가지 구현으로 비교해줘.
각각 실행 시점·캐싱·언제 쓰는지 표 포함.7. Vue Router
❌ Vue Router 사용법
✅
Vue Router 4로 멀티 페이지 SPA를 설계해줘.
중첩 라우트 / 동적 파라미터 / 보호 라우트(인증) /
useRoute로 URL 파라미터 / 404 처리 + 스크롤 복원.8. emit + provide/inject
❌ 컴포넌트 통신
✅
3가지 컴포넌트 통신 방식 정리:
부모 → 자식: props
자식 → 부모: emit
조부모 → 손자: provide/inject
각 코드 예시 + 언제 무엇을 쓰는지 결정 트리.🔵 심화 (9~11)
9. Pinia 상태 관리
❌ Pinia 사용법
✅
Pinia로 인증 + 장바구니 + 다크모드 3가지 스토어를 설계해줘.
각 스토어: setup style / persist plugin /
getters / actions / TypeScript 타입 추론. 모듈 분리 기준 포함.10. 성능 최적화
❌ Vue 성능 최적화
✅
Vue 3 성능 병목 5가지를 진단·해결하는 패턴을 정리해줘.
불필요 반응성(ref vs shallowRef) / 큰 리스트 / 무거운 계산 /
KeepAlive / 컴포넌트 lazy. 각각 코드 예시.11. Vitest 테스트
❌ Vue 테스트
✅
Vitest + Vue Test Utils로 컴포넌트 단위 테스트를 작성해줘.
props / emit / 사용자 인터랙션 / 비동기 / mock /
접근성 검사. TDD 흐름 + AAA 패턴.⚠️ 주의사항
- AI가 Options API 코드를 줄 수 있음 — Composition API + <script setup>으로 변환
- Vue 2 자료가 많음 — '버전 3 + 2025년 이후' 명시
- Volar 활성화 + Vetur 비활성화 확인
- 주 2회는 AI 없이 SFC 작성 — 진짜 실력은 직접 쓰면서 늘어난다
💻 프롬프트 품질 비교
<!-- ❌ 나쁜 프롬프트: 'Vue로 데이터 받아와줘' -->
<script setup>
import { ref, onMounted } from 'vue';
const data = ref(null);
onMounted(async () => { data.value = await fetch('/api').then(r => r.json()); });
</script>
<!-- 문제: 에러 무시, 로딩 모름, 취소 불가, 타입 없음 -->
<!-- ✅ 좋은 프롬프트: 모든 엣지 케이스 + 타입 + composable -->
<script setup lang='ts'>
import { ref, onMounted, onUnmounted } from 'vue';
interface Post { id: number; title: string }
function useFetch<T>(url: string) {
const data = ref<T | null>(null);
const loading = ref(true);
const error = ref<string | null>(null);
const ctrl = new AbortController();
onMounted(async () => {
try {
const res = await fetch(url, { signal: ctrl.signal });
if (!res.ok) throw new Error(`HTTP ${res.status}`);
data.value = await res.json();
} catch (e: any) {
if (e.name !== 'AbortError') error.value = e.message;
} finally {
loading.value = false;
}
});
onUnmounted(() => ctrl.abort());
return { data, loading, error };
}
const { data: posts, loading, error } = useFetch<Post[]>('/api/posts');
</script>
<template>
<div v-if='loading'>로딩...</div>
<div v-else-if='error'>에러: {{ error }}</div>
<ul v-else>
<li v-for='p in posts' :key='p.id'>{{ p.title }}</li>
</ul>
</template>
<!--
📊 비교:
| 항목 | ❌ 나쁜 | ✅ 좋은 |
| 에러 처리 | 무시 | error.value + UI |
| 로딩 상태 | 없음 | loading.value |
| 요청 취소 | 불가 | AbortController + onUnmounted |
| 타입 안전성 | any | 제네릭 T |
| 재사용 | 불가 | composable 분리 |
→ 프롬프트의 구체성이 코드 품질을 결정합니다!
-->AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
내가 만든 Vue 컴포넌트에 AI를 활용해서 반응성 버그·성능·접근성을 자동 점검받는 프롬프트 템플릿 3종을 설계해줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
Vue 학습에 ChatGPT를 활용하는 실전 시나리오 5가지(Composition 전환, 디버깅, 최적화, Nuxt 마이그레이션, 테스트)를 바로 쓸 수 있는 프롬프트와 함께 보여줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
Vue 코드 전체를 AI로 분석할 때 Claude/ChatGPT/Gemini/Grok 각각의 강점과 적합한 프롬프트 패턴을 비교 정리해줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
2026년에 AI 코드 어시스턴트로 Vue를 배우는 게 공식 문서·강의보다 빠른지, 어떤 한계가 있는지 솔직히 평가해줘.
⭐ 이것만 기억하세요
AI 프롬프트로 Vue 3 200% 활용하기는 이 3가지만 확실히 잡으세요
1.프롬프트 4단계 공식: 나쁜 예/좋은 예 비교로 Vue 코드 품질 극적 향상
2.11개 프롬프트: 기초(ref·v-bind·컴포넌트) → 중급(Composition·Router·통신) → 심화(Pinia·성능·테스트)
3.AI는 Options API 옛 자료를 줄 수 있음 — '<script setup> + Composition API'를 항상 명시
공유하기
진행도 4 / 34