Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Vue.js] 서버 사이드 렌더링 데이터 획득을 위한 onServerPrefetch() 메소드 본문
<template>
<div>
<p>{{ message }}</p>
</div>
</template>
<script>
export default {
data() {
return {
message: ''
};
},
async onServerPrefetch() {
// 서버 사이드 렌더링에서 호출됨
this.message = await this.fetchData();
// 필요한 작업 수행
},
methods: {
async fetchData() {
// 데이터를 가져오는 비동기 함수
return new Promise(resolve => {
setTimeout(() => {
resolve('서버 사이드 렌더링 데이터');
}, 1000);
});
}
}
};
</script>
Vue.js에서는 서버 사이드 렌더링 (SSR)을 지원하기 위해 onServerPrefetch()
메소드를 제공합니다. 이 메소드는 서버에서 Vue 컴포넌트를 렌더링할 때 호출되는 훅으로, 서버에서 미리 데이터를 가져와 컴포넌트를 렌더링하기 전에 데이터를 준비할 수 있습니다.
위 예제는 onServerPrefetch()
메소드를 사용하여 서버 사이드 렌더링 데이터를 획득하는 Vue 컴포넌트를 보여줍니다.
onServerPrefetch()
메소드 내부에서는 서버 사이드 렌더링에서 호출되는 비동기 함수를 정의합니다.- 이 예제에서는
fetchData()
메소드를 사용하여 서버 사이드 렌더링 데이터를 가져옵니다. fetchData()
메소드는 비동기로 데이터를 가져오는 역할을 합니다. 예를 들어 AJAX 요청을 보내거나 데이터베이스에서 데이터를 쿼리할 수 있습니다.- 서버 사이드 렌더링 데이터를 가져온 후에는 필요한 작업을 수행할 수 있습니다. 이 예제에서는 가져온 데이터를
message
변수에 할당하여 화면에 표시합니다.
onServerPrefetch()
메소드를 사용하면 서버 사이드 렌더링 시에 필요한 데이터를 미리 가져와 컴포넌트를 렌더링하기 전에 준비할 수 있어서 페이지 로딩 시간을 단축하고 사용자 경험을 향상시킬 수 있습니다.