Guide

Extending pages

Adding localized pages from a module.

If you're a module author and want your module to add extra pages to your project, you can add these by using the 'pages:extend' Nuxt hook.

modules/example-module/index.ts
import { defineNuxtModule, createResolver } from '@nuxt/kit'

export default defineNuxtModule({
  setup(options, nuxt) {
    const { resolve } = createResolver(import.meta.url)

    nuxt.hook('pages:extend', pages => {
      pages.push({
        name: 'example-page',
        path: '/example-page',
        file: resolve(__dirname, './pages/example-page.vue')
      })
    })
  }
})