Nuxt에서 Vue 템플릿 리팩토링

3812 단어 vuenuxthtmljavascript
여러 곳에서 HTML 업데이트를 시작하자마자 리팩토링을 시작할 때입니다.

HTML을 가능한 한 재사용할 수 있도록 하려면 여러 위치에서 사용하는 HTML의 모든 부분에 대한 구성 요소를 빌드해야 합니다.

Nuxt를 사용하면 쉽게 할 수 있습니다.

HTML을 재사용하려면 components directory 에서 Vue 구성 요소를 빌드할 수 있으며 페이지 또는 다른 구성 요소에서 사용할 때마다 구성 요소가 자동으로 등록됩니다.

다음은 페이지 헤더에 대한 구성 요소 중 하나입니다.

<template>
  <section>
      <div
        class="py-10 mx-auto max-w-screen-xl px-4 sm:py-12 sm:px-6 md:py-16 lg:py-20 xl:py-28"
      >
        <div class="text-center">
          <h1
            class="text-4xl tracking-tight leading-10 font-extrabold text-gray-900 sm:text-5xl sm:leading-none md:text-6xl"
          >
            {{ title }}
          </h1>
          <p
            class="mt-3 max-w-md mx-auto text-base text-gray-500 sm:text-lg md:mt-5 md:text-xl md:max-w-3xl"
          >
            {{ subtitle }}
          </p>
        </div>
      </div>
    </section>
</template>

<script>
export default {
  props: ['title', 'subtitle']
}
</script>


다음은 페이지 템플릿 내에서 사용되는 구성 요소입니다.

<template>
  <div>
    <!-- This is the Component above -->
    <PageHeader :title='projectPage.title' :subtitle='projectPage.subtitle' />
    <!-- This is another Component I built -->
    <ProjectList :projects='projects' />
  </div>
</template>


알 수 있듯이 여러 페이지에서 동일한 헤더를 사용할 수 있지만 내용만 변경할 수 있도록 내용에 vue props을 사용하고 있습니다. 이렇게 하면 HTML을 한 곳에서만 업데이트하면 되므로 유지 관리 및 업데이트가 훨씬 빨라집니다.

이제 chriswray.dev 에서 라이브 사이트를 볼 수 있습니다. 당신의 생각을 알고 싶습니다!

좋은 웹페이지 즐겨찾기