Изучите Nuxt с коллекцией из 100+ советов!

Слои

Nuxt предоставляет мощную систему, которая позволяет расширять файлы по умолчанию, конфигурацию и многое другое.

Одной из основных особенностей Nuxt являются слои и поддержка расширений. Вы можете расширить стандартное приложение Nuxt для повторного использования компонентов, утилит и конфигурации. Структура слоев практически идентична стандартному приложению Nuxt, что делает их простыми в создании и поддержке.

Случаи использования

  • Переиспользование предустановок конфигурации в проектах с помощью nuxt.config и app.config
  • Создание библиотеки компонентов, с использованием директории components/
  • Создание библиотек утилит и композаблов с использованием директорий composables/ и utils/
  • Создание предустановок модуля Nuxt
  • Распространение стандартных настроек по всем проектам
  • Создание тем Nuxt
  • Улучшение организации кода за счет внедрения модульной архитектуры и поддержки шаблона Domain-Driven Design (DDD) в больших масштабируемых проектах.

Использование

По умолчанию все файлы в директории ~/layers будут автоматически зарегистрированы как слои в вашем проекте

Авторегистрация слоев была введена в Nuxt v3.12.0

Кроме того, вы можете расширить слой, добавив свойство extends в файл nuxt.config.

nuxt.config.ts
export default defineNuxtConfig({
  extends: [
    '../base',                     // Расширение из локального слоя
    '@my-themes/awesome',          // Расширение из установленного пакета npm
    'github:my-themes/awesome#v1', // Расширение из git репозитория
  ]
})

Вы также можете передать токен аутентификации, если вы расширяете из приватного GitHub репозитория:

nuxt.config.ts
export default defineNuxtConfig({
  extends: [
    // конфигурация каждого слоя
    ['github:my-themes/private-awesome', { auth: process.env.GITHUB_TOKEN }]
  ]
})

Nuxt использует unjs/c12 и unjs/giget для расширения удаленных слоев. Обратитесь к документации для получения дополнительной информации и всех доступных опций.

Подробнее о слоях читайте в Руководстве для автора слоя.
Посмотрите видео о слоях Nuxt от Learn Vue.
Посмотрите видео о слоях Nuxt от Александра Лихтера.

Примеры

Content Wind Theme

Легковесная тема Nuxt для создания сайта на основе Markdown. Работает на Nuxt Content, TailwindCSS и Iconify.