Skip to content

vueuse/head

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4fb22cd Β· Feb 26, 2023
Nov 12, 2022
Nov 18, 2021
Dec 1, 2022
Feb 24, 2023
Feb 24, 2023
Sep 18, 2022
Nov 12, 2022
Oct 1, 2022
Oct 1, 2022
Sep 18, 2022
Feb 26, 2023
Jan 18, 2021
Feb 24, 2023
Nov 12, 2022
Feb 26, 2023
Feb 26, 2023
Nov 12, 2022
Nov 12, 2022

Repository files navigation

@vueuse/head

NPM version NPM Downloads GitHub stars

Document head management for Vue. Powered by Unhead.


Created by egoist, maintained by harlan-zw
πŸ’› Support ongoing development by sponsoring us.
Follow 🐦 @harlan_zw for updates β€’ Join Discord for support

v1.1.0 released

  • ✨ New Tag: templateParams
  • πŸŽ‰ New useHeadSafe
  • and much more!

Read the release notes.

Features

  • πŸ’Ž Fully typed augmentable Schema
  • πŸ§‘β€πŸ€β€πŸ§‘ Side-effect based DOM patching, plays nicely your existing other tags and attributes
  • 🍣 Intuitive deduping, sorting, title templates, class merging and more
  • πŸͺ Extensible hook / plugin based API

Installation

npm i @vueuse/head
# Or Yarn
yarn add @vueuse/head

Requires vue >= v3 or >=2.7

Usage

Vue 3

Register the Vue plugin:

import { createApp } from "vue"
import { createHead } from "@vueuse/head"

const app = createApp()
const head = createHead()

app.use(head)

app.mount("#app")

Vue 2

Register the Vue plugin:

import Vue from 'vue'
import { createHead, HeadVuePlugin } from "@vueuse/head"

const head = createHead()
// needed for Vue 2
Vue.use(HeadVuePlugin, head)
Vue.use(head)

new Vue({
  render: h => h(App),
}).$mount('#app')

SSR Rendering

import { renderToString } from "@vue/server-renderer"
import { renderHeadToString } from "@vueuse/head"

const appHTML = await renderToString(yourVueApp)

// `head` is created from `createHead()`
const { headTags, htmlAttrs, bodyAttrs, bodyTags } = await renderHeadToString(head)

const finalHTML = `
<html${htmlAttrs}>

  <head>
    ${headTags}
  </head>

  <body${bodyAttrs}>
    <div id="app">${appHTML}</div>
    ${bodyTags}
  </body>

</html>`

Further Documentation

Refer to the unhead documentation for full API reference and more.

Sponsors

License

MIT Β© EGOIST MIT License Β© 2022-PRESENT Harlan Wilton