1. Nuxt.js 3 소개
Nuxt.js 3는 최신의 웹앱 개발을 위한 프레임워크입니다. 이 버전에서는 Composition API와 Nitro 엔진이 새로 도입되었습니다. Composition API는 Vue.js 3의 핵심 기능 중 하나로, 유연하고 효율적인 코드 작성이 가능해졌습니다. Nitro 엔진은 서버사이드 렌더링을 위한 강력한 엔진으로, 빠른 페이지 로딩 속도와 검색 엔진 최적화를 제공합니다.
다음은 Nuxt.js 3의 새로운 기능 중 일부입니다.
- Composition API의 지원
- Nitro 엔진을 통한 서버사이드 렌더링
- 개선된 성능과 보안
// Composition API 예제
export default {
setup() {
const count = ref(0);
const increment = () => {
count.value++;
};
return { count, increment };
},
};
2. Composition API 활용법
Composition API는 함수형 프로그래밍 스타일의 코드 작성이 가능합니다. 주요 함수로는 setup(), ref(), reactive(), computed(), watch() 등이 있습니다. setup() 함수는 컴포넌트의 초기화와 로직을 처리하는 함수입니다. ref()와 reactive()는 상태 관리를 위한 함수로, ref()는 단일 상태 변수를 관리하고, reactive()는 객체 전체를 반응형으로 만듭니다.
다음은 Composition API의 예제입니다.
// setup() 함수 예제
export default {
setup() {
const name = ref('John Doe');
const age = reactive({ value: 30 });
return { name, age };
},
};
computed()와 watch()의 활용
computed() 함수는 의존성에 따라 캐시된 결과를 반환하는 함수입니다. watch() 함수는 특정 상태 변수의 변경을 감지하여 처리할 수 있는 함수입니다.
// computed()와 watch() 예제
export default {
setup() {
const count = ref(0);
const doubleCount = computed(() => count.value * 2);
watch(count, (newCount) => {
console.log(`Count changed to ${newCount}`);
});
return { count, doubleCount };
},
};
3. Nitro 엔진으로 서버사이드 렌더링하기
Nitro 엔진은 Nuxt.js 3의 핵심 기능 중 하나로, 서버사이드 렌더링을 위한 강력한 엔진입니다. Nitro 엔진을 사용하면 빠른 페이지 로딩 속도와 검색 엔진 최적화를 제공할 수 있습니다.
다음은 Nitro 엔진의 설정 방법입니다.
// Nitro 엔진 설정 예제
export default {
nitro: {
preset: 'server',
},
};
서버사이드 렌더링의 이점
서버사이드 렌더링은 클라이언트사이드 렌더링과 비교하여 여러 가지 이점을 제공합니다. 첫째, 페이지 로딩 속도가 빠릅니다. 둘째, 검색 엔진 최적화(SEO)가 가능합니다. 셋째, 초기 페이지 로딩에 필요한 데이터를 미리 로딩할 수 있습니다.
4. 실습 예제: Nuxt.js 3와 Composition API로 Todo List 앱 만들기
이번 절에서는 Nuxt.js 3와 Composition API를 사용하여 Todo List 앱을 만들어보겠습니다. Todo List 앱은 사용자의 일일 작업 목록을 관리하는 앱입니다.
다음은 Todo List 앱의 핵심 로직입니다.
// Todo List 앱의 핵심 로직
export default {
setup() {
const todos = ref([]);
const newTodo = ref('');
const addTodo = () => {
todos.value.push({ text: newTodo.value, done: false });
newTodo.value = '';
};
return { todos, newTodo, addTodo };
},
};
'개발일기' 카테고리의 다른 글
| 내가 2년간의 사이드 프로젝트에서 얻은 7가지 소프트웨어 설계 원칙 (0) | 2026.04.01 |
|---|---|
| 2026년 백엔드 개발자 성공을 위한 5가지 필수 스킬 (0) | 2026.04.01 |
| FastAPI로 빠른 REST API 개발 (0) | 2026.03.30 |
| Kubernetes 없이 배포하기 (0) | 2026.03.30 |
| Playwright로 E2E 테스트 자동화 (0) | 2026.03.28 |