[javascript] Nuxt.js에서의 동적 컴포넌트 로딩 방법은?
1. asyncData를 활용한 동적 컴포넌트 로딩
asyncData
메서드를 사용하여 데이터를 불러오는 동안 컴포넌트를 동적으로 로딩할 수 있습니다.
export default {
async asyncData({ params }) {
const dynamicComponent = await import(`~/components/${params.id}.vue`)
return { dynamicComponent }
}
}
해당 코드에서 params.id
는 동적 컴포넌트의 파일명을 사용한 예시입니다.
2. fetch를 이용한 동적 컴포넌트 로딩
fetch
메서드를 사용하여 데이터를 불러오는 동안 컴포넌트를 동적으로 로딩할 수 있습니다.
export default {
async fetch({ params }) {
const dynamicComponent = await import(`~/components/${params.id}.vue`)
// 동적 컴포넌트 로딩 후 로직 구현
}
}
3. nuxtServerInit를 활용한 동적 컴포넌트 로딩
store
에서 nuxtServerInit
를 이용하여 초기 데이터를 가져올 때, 컴포넌트를 동적으로 로딩할 수 있습니다.
export const actions = {
async nuxtServerInit({ commit }, { params }) {
const dynamicComponent = await import(`~/components/${params.id}.vue`)
// 컴포넌트 로딩 후 처리할 내용 구현
}
}
이러한 방법을 통해 Nuxt.js 프로젝트 내에서 동적으로 컴포넌트를 로딩할 수 있습니다.