This feature is experimental and in order to use it you must enable the
experimental.inlineRouteRules
option in your nuxt.config
.Usage
pages/index.vue
<script setup>defineRouteRules({ prerender: true})</script><template> <h1>Hello world!</h1></template>
Will be translated to:
nuxt.config.ts
export default defineNuxtConfig({ routeRules: { '/': { prerender: true } }})
When running
nuxt build
, the home page will be pre-rendered in .output/public/index.html
and statically served.Notes
- A rule defined in
~/pages/foo/bar.vue
will be applied to/foo/bar
requests. - A rule in
~/pages/foo/[id].vue
will be applied to/foo/**
requests.
For more control, such as if you are using a custom path
or alias
set in the page's definePageMeta
, you should set routeRules
directly within your nuxt.config
.