App file
The app.vue
file is the main component in your Nuxt 3 applications.
Minimal usage
With Nuxt 3, the pages/
directory is optional. If not present, Nuxt won't include vue-router dependency. This is useful when working on a landing page or an application that does not need routing.
app.vue
<template>
<h1>Hello World!</h1>
</template>
Usage With Pages
If you have a pages/
directory, to display the current page, use the <NuxtPage>
component:
app.vue
<template>
<div>
<NuxtLayout>
<NuxtPage/>
</NuxtLayout>
</div>
</template>
Since Nuxt 3 uses <Suspense>
inside <NuxtPage>
, it cannot be set as a root element.
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.
If you want to have the possibility to customize the structure around the page between pages, check out the layouts/
directory.