definePageMeta()
Declares compile-time metadata for a page component (layout, middleware, etc.).
Syntax
definePageMeta(meta) Parameters
| Name | Type | Required | Description |
|---|---|---|---|
meta | PageMeta | Yes | `layout`, `middleware`, `keepalive`, `key`, `name`, `path`, `alias`, `redirect`, `pageTransition`, plus custom keys. |
Returns
void — Compiler macro; extracted at build time.
Examples
<script setup lang="ts">
definePageMeta({
layout: 'dashboard',
middleware: ['auth'],
})
</script>
<script setup lang="ts">
definePageMeta({
title: 'Settings',
keepalive: true,
pageTransition: { name: 'slide' },
})
</script>
Notes
A compiler macro usable only inside `pages/` components and only at
the top level of `<script setup>`. It cannot reference variables
outside its own scope because it is statically analyzed. Custom keys
are accessible via `useRoute().meta` and in route middleware.