Nuxt/docs/1.getting-started/9.layers.md
Sébastien Chopin f26a801775
docs: update to new website (#23743)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Daniel Roe <daniel@roe.dev>
2023-10-18 12:59:43 +02:00

1.8 KiB

title description navigation.icon
Layers Nuxt provides a powerful system that allows you to extend the default files, configs, and much more. i-ph-stack-duotone

One of the core features of Nuxt 3 is the layers and extending support. You can extend a default Nuxt application to reuse components, utils, and configuration. The layers structure is almost identical to a standard Nuxt application which makes them easy to author and maintain.

Use Cases

  • Share reusable configuration presets across projects using nuxt.config and app.config
  • Create a component library using components/ directory
  • Create utility and composable library using composables/ and utils/ directories
  • Create Nuxt module presets
  • Share standard setup across projects
  • Create Nuxt themes

Usage

You can extend a layer by adding the extends property to the nuxt.config.ts file.

export default defineNuxtConfig({
  extends: [
    '../base',                     // Extend from a local layer
    '@my-themes/awesome',          // Extend from an installed npm package
    'github:my-themes/awesome#v1', // Extend from a git repository
  ]
})

::read-more{to="/docs/guide/going-further/layers"} Read more about layers in the Layer Author Guide. ::

::callout{color="blue" icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=lnFCM7c9f7I" target="_blank"} Watch Learn Vue video about Nuxt Layers. ::

Examples