Files
gil-wiki/reference/2.directory-structure/1.app/3.app.md
gil 5f664546cf feat: 위키 저장소 초기 커밋
- CLAUDE.md 운영 규칙
- wiki/ 정리된 지식 페이지 (Nuxt + Claude Code)
- raw/ 원본 자료
- reference/ Nuxt 4.x 공식 문서

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 00:31:51 +09:00

2.2 KiB

title, description, head.title, navigation.icon
title description head.title navigation.icon
app.vue The app.vue file is the main component of your Nuxt application. app.vue i-vscode-icons-file-type-vue

::tip If you have a app/pages/ directory, the app.vue file is optional. Nuxt will automatically include a default app.vue, but you can still add your own to customize the structure and content as needed. ::

Usage

Minimal Usage

With Nuxt, the app/pages/ directory is optional. If it is not present, Nuxt will not include the vue-router dependency. This is useful when building a landing page or an application that does not require routing.

<template>
  <h1>Hello World!</h1>
</template>

:link-example{to="/docs/4.x/examples/hello-world"}

Usage with Pages

When you have a app/pages/ directory, you need to use the <NuxtPage> component to display the current page:

<template>
  <NuxtPage />
</template>

You can also define the common structure of your application directly in app.vue. This is useful when you want to include global elements such as a header or footer:

<template>
  <header>
    Header content
  </header>
  <NuxtPage />
  <footer>
    Footer content
  </footer>
</template>

::note Remember that app.vue acts as the main component of your Nuxt application. Anything you add to it (JS and CSS) will be global and included in every page. ::

::read-more{to="/docs/4.x/directory-structure/app/pages"} Learn more about how to structure your pages using the app/pages/ directory. ::

Usage with Layouts

When your application requires different layouts for different pages, you can use the app/layouts/ directory with the <NuxtLayout> component. This allows you to define multiple layouts and apply them per page.

<template>
  <NuxtLayout>
    <NuxtPage />
  </NuxtLayout>
</template>

::read-more{to="/docs/4.x/directory-structure/app/layouts"} Learn more about how to structure your layouts using the app/layouts/ directory. ::