UNPKG

nuxt

Version:

Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.

48 lines (47 loc) 1.53 kB
import { hasInjectionContext, inject } from "vue"; import { useHead as headCore, useHeadSafe as headSafe, headSymbol, useSeoMeta as seoMeta, useServerHead as serverHead, useServerHeadSafe as serverHeadSafe, useServerSeoMeta as serverSeoMeta } from "@unhead/vue"; import { useNuxtApp } from "#app/nuxt"; export function injectHead(nuxtApp) { const nuxt = nuxtApp || useNuxtApp(); return nuxt.ssrContext?.head || nuxt.runWithContext(() => { if (hasInjectionContext()) { const head = inject(headSymbol); if (!head) { throw new Error("[nuxt] [unhead] Missing Unhead instance."); } return head; } }); } export function useHead(input, options = {}) { const head = injectHead(options.nuxt); return headCore(input, { head, ...options }); } export function useHeadSafe(input, options = {}) { const head = injectHead(options.nuxt); return headSafe(input, { head, ...options }); } export function useSeoMeta(input, options = {}) { const head = injectHead(options.nuxt); return seoMeta(input, { head, ...options }); } export function useServerHead(input, options = {}) { const head = injectHead(options.nuxt); return serverHead(input, { head, ...options }); } export function useServerHeadSafe(input, options = {}) { const head = injectHead(options.nuxt); return serverHeadSafe(input, { head, ...options }); } export function useServerSeoMeta(input, options = {}) { const head = injectHead(options.nuxt); return serverSeoMeta(input, { head, ...options }); }