Head
Nuxt Kit 提供了一系列工具,帮助你在模块中管理 head 配置。
setGlobalHead
为你的 Nuxt 应用设置全局 head 配置。该工具允许模块以编程方式配置 meta 标签、link、script 以及将应用到所有页面的其他 head 元素。
所提供的 head 配置会使用深合并与任何已有的 head 配置合并,你所提供的值具有更高优先级。
这对于需要向应用 head 中注入全局 meta 标签、样式表或脚本的模块尤其有用。 :
类型
// @errors: 2391
// ---cut---
import type { SerializableHead } from '@unhead/vue/types'
interface AppHeadMetaObject extends SerializableHead {
charset?: string
viewport?: string
}
function setGlobalHead (head: AppHeadMetaObject): void
参数
head
类型:AppHeadMetaObject
一个包含 head 配置的对象。所有属性都是可选的,会与已有配置合并:
charset:文档的字符编码viewport:viewport meta 标签配置meta:meta 标签对象数组link:link 标签对象数组(样式表、图标等)style:内联 style 标签对象数组script:script 标签对象数组noscript:noscript 标签对象数组title:默认页面标题titleTemplate:用于格式化页面标题的模板bodyAttrs:添加到<body>标签的属性htmlAttrs:添加到<html>标签的属性
示例
添加全局 Meta 标签
import { defineNuxtModule, setGlobalHead } from '@nuxt/kit'
export default defineNuxtModule({
setup () {
setGlobalHead({
meta: [
{ name: 'theme-color', content: '#ffffff' },
{ name: 'author', content: 'Your Name' },
],
})
},
})
注入全局样式表
import { defineNuxtModule, setGlobalHead } from '@nuxt/kit'
export default defineNuxtModule({
setup () {
setGlobalHead({
link: [
{
rel: 'stylesheet',
href: 'https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap',
},
],
})
},
})
添加全局脚本
import { defineNuxtModule, setGlobalHead } from '@nuxt/kit'
export default defineNuxtModule({
setup () {
setGlobalHead({
script: [
{
src: 'https://cdn.example.com/analytics.js',
async: true,
defer: true,
},
],
})
},
})
设置 HTML 属性
import { defineNuxtModule, setGlobalHead } from '@nuxt/kit'
export default defineNuxtModule({
setup () {
setGlobalHead({
htmlAttrs: {
lang: 'en',
dir: 'ltr',
},
bodyAttrs: {
class: 'custom-body-class',
},
})
},
})