Для формирования мета-описания в Nuxt.js вы можете использовать несколько подходов. Рассмотрим каждый из них подробнее.
1. Формирование статического мета-описания:
В Nuxt.js вы можете указать статическое мета-описание для всех страниц вашего приложения в файле nuxt.config.js. Для этого вам нужно определить объект head внутри модуля export default:
export default { head: { meta: [ { hid: 'description', name: 'description', content: 'Ваше мета-описание здесь' } ] } }
В приведенном выше примере мы используем hid для идентификации мета-тега.
Этот параметр позволяет обрабатывать мета-описание динамически с помощью функций, таких как $metaInfo().
Вы также можете использовать другие мета-теги, такие как og:description для получения более детального описания.
2. Динамическое формирование мета-описания:
В Nuxt.js вы можете также динамически формировать мета-описание для каждой страницы с помощью компонента, соответствующего маршруту.
Для этого вы можете использовать хук жизненного цикла created() или метод Vue, называемый геттер metaInfo().
export default { data() { return { pageTitle: 'Заголовок страницы', pageDescription: 'Описание страницы', } }, computed: { metaInfo() { return { title: this.pageTitle, meta: [ { hid: 'description', name: 'description', content: this.pageDescription } ] } } } }
В приведенном выше примере мы используем заголовок страницы и описание страницы, которые определены в data() компонента. При переходе на эту страницу мета-описание будет автоматически изменяться.
3. Использование плагинов:
Вы также можете использовать плагины для формирования мета-описания в Nuxt.js. Плагины позволяют вам выполнить любую логику, необходимую для формирования мета-тегов, и затем возвращать объект metaInfo, содержащий соответствующие метаданные.
// plugins/metaDescription.js export default function({ app, route }) { let pageDescription = 'Описание по умолчанию' if (route.name === 'home') { pageDescription = 'Описание главной страницы' } else if (route.name === 'about') { pageDescription = 'Описание страницы "О нас"' } return { meta: [ { hid: 'description', name: 'description', content: pageDescription } ] } }
В приведенном выше примере мы определили плагин metaDescription.js, который определяет мета-описание в зависимости от текущего пути маршрута. Вы можете создать несколько плагинов для разных страниц и подключить их в nuxt.config.js.
// nuxt.config.js export default { plugins: [ // ... { src: '~/plugins/metaDescription.js' } ] }
С помощью этого подхода вы получаете большую гибкость и управляемость при формировании мета-описание для каждой страницы вашего приложения.
В итоге, формирование мета-описания в Nuxt.js можно реализовать статически, динамически или с использованием плагинов, в зависимости от ваших потребностей.