defineNuxtComponent
defineNuxtComponent() - это хелпер для определения типобезопасных компонентов с использованием Options API.
defineNuxtComponent() - это хелпер для определения безопасных с точки зрения типов компонентов Vue с использованием Options API, аналогично  defineComponent(). Обертка defineNuxtComponent() также добавляет поддержку опций компонента  asyncData и head.Использование 
<script setup lang="ts"> является рекомендуемым способом объявления компонентов Vue в Nuxt 3.asyncData()
Если вы решите не использоватьsetup() в своем приложении, вы можете использовать метод asyncData() в определении компонента:
pages/index.vue
<script lang="ts">
export default defineNuxtComponent({
  async asyncData() {
    return {
      data: {
        greetings: 'привет мир!'
      }
    }
  },
})
</script>
head()
Если вы решите не использоватьsetup() в своем приложении, вы можете использовать метод head() в определении компонента:
pages/index.vue
<script lang="ts">
export default defineNuxtComponent({
  head(nuxtApp) {
    return {
      title: 'Мой сайт'
    }
  },
})
</script>