Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验

nuxt,js · 浏览次数 : 6

正文

image
image

扫描二维码关注或者微信搜一搜:编程智域 前端至全栈交流与成长

useHead 函数概述

useHead是一个用于在 Nuxt 应用中自定义页面头部属性的函数。它由Unhead库提供支持,允许开发者以编程和响应式的方式设置每个页面的头部信息。

useHead 函数类型

useHead(meta: MaybeComputedRef<MetaObject>): void

MetaObject 接口

MetaObject接口定义了可以传递给useHead的属性类型,如下所示:

interface MetaObject {
  title?: string;
  titleTemplate?: string | ((title?: string) => string);
  base?: Base;
  link?: Link[];
  meta?: Meta[];
  style?: Style[];
  script?: Script[];
  noscript?: Noscript[];
  htmlAttrs?: HtmlAttributes;
  bodyAttrs?: BodyAttributes;
}

参数

meta

类型MetaObject

MetaObjectUnhead库中的一个对象类型,用于封装和管理页面头部的元数据。Unhead是一个用于构建动态、可配置的 HTML
头部的库,它允许开发者在 Nuxt.js 应用中灵活地控制页面的元信息。

接受以下头部元数据的对象:

title

title属性用于设置页面的静态标题。当用户在浏览器中打开页面时,显示在浏览器标签或书签中的标题就是由这个属性决定的。例如,如果你想为你的页面设置标题为“我的页面”,可以这样设置:

useHead({
  title: '我的页面'
});

titleTemplate

titleTemplate属性允许你使用动态模板来生成标题。这可以是一个字符串模板或者一个函数,该函数接收一个参数(通常是当前的标题)并返回一个新的标题字符串。

字符串模板

useHead({
  titleTemplate: '这是我的页面 - {{title}}'
});

函数模板

const getTitle = (title) => `这是我的页面 - ${title}`;
useHead({
  titleTemplate: getTitle
});

base

base属性用于设置<base>标签的属性,通常用于指定页面中相对链接的基础 URL。例如,如果你的页面是https://example.com
,并且你有一个链接指向/blog,那么使用<base href="/blog">可以确保所有相对链接都从/blog开始。

useHead({
  base: { href: '/blog' }
});

link属性是一个数组,每个元素都是一个<link>标签的配置对象。这些对象通常包含relhreftype
等属性,用于定义外部样式表、脚本文件或其他资源的链接。

useHead({
  link: [
    { rel: 'stylesheet', href: '/styles.css' },
    { rel: 'preload', href: '/fonts/roboto.woff2', as: 'font' }
  ]
});

meta

meta属性也是一个数组,每个元素都是一个<meta>标签的配置对象。这些对象通常包含namecontenthttp-equiv
等属性,用于定义元信息,如描述、关键词、字符集等。

style

script

noscript

htmlAttrs 和 bodyAttrs

示例:

余下文章内容请点击跳转至 个人博客页面 或者 扫码关注或者微信搜一搜:编程智域 前端至全栈交流与成长,阅读完整的文章:Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验 | cmdragon's Blog

往期文章归档:

与Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验相似的内容:

Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验

title: Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验 date: 2024/7/16 updated: 2024/7/16 author: [ cmdragon ](https://cmdragon.cn) excerpt: 摘要:“Nuxt.js头部魔法:轻松自定义页面元信息,

Nuxt.js 深入浅出:目录结构与文件组织详解

摘要:本文详述了Nuxt.js框架中关键目录与配置文件的作用及使用方法,包括布局设定、页面结构管理、插件集成、静态资源处理、 Vuex状态管理、项目配置文件nuxt.config.js详解以及package.json、.eslintrc.js、.babelrc等辅助配置文件的配置方式,为构建高效Nu...

Nuxt.js 生成sitemap站点地图文件

Nuxt.js 生成sitemap站点地图文件 背景介绍 ​ 使用nuxt框架生成静态文件支持SEO优化,打包之后需要生成一个 sitemap.xml 文件方便提交搜索引擎进行收录。官网有提供一个插件sitemap 但是如果是动态路由需要手动一个个配置比较麻烦,无法自动检索生成。所以自己编写一个生成

轻松掌握useAsyncData获取异步数据

摘要:本文详细介绍Nuxt.js中的useAsyncData组合式函数,它用于在服务端渲染(SSR)过程中异步获取数据,确保客户端正确水合,避免重复请求。内容包括基本概念、参数说明(key, handler, options)、示例用法、如何监听参数变化自动刷新数据及返回值详解,展示了在页面组件中使...

Nuxt3 的生命周期和钩子函数(二)

摘要:本文深入介绍了Nuxt.js框架中几个关键的生命周期钩子函数,包括app:redirected(SSR环境下重定向前触发)、app:beforeMount(CSR下应用挂载前)、app:mounted(CSR下Vue应用在浏览器挂载时)、app:suspense:resolve(CSR中Sus...

初学者必读:如何使用 Nuxt 中间件简化网站开发

本文概述了Nuxt 3框架的升级特点,对比Nuxt 2,详细解析中间件应用、配置策略与实战示例,涵盖功能、错误管理、优化技巧,并探讨与Nuxt 3核心组件集成方法,给出最佳实践和问题解决方案,强调利用Vue 3和Serverless Functions提升中间件效能。

掌握 Nuxt 3 中的状态管理:实践指南

摘要:该文指南详述了Nuxt 3的概况与安装,聚焦于在Nuxt 3框架下运用Vuex进行高效的状态管理,涵盖基础配置、模块化实践至高阶策略,助力开发者构建高性能前后端分离应用。

Nuxt 3 路由系统详解:配置与实践指南

摘要:本文是一份关于Nuxt 3路由系统的详尽指南。它从介绍Nuxt 3的基本概念开始,包括Nuxt 3与Nuxt 2的区别和选择Nuxt 3的理由。然后,它详细解释了安装和配置Nuxt 3的步骤,以及Nuxt 3路由系统的基础知识,如动态路由和嵌套路由。接着,它介绍了路由中间件的作用和编写自定义中...

Nuxt 3组件开发与管理

摘要:本文深入探讨了Nuxt 3的组件开发与管理,从基础概念、安装配置、目录结构、组件分类与开发实践、生命周期与优化,到测试与维护策略。详细介绍了Nuxt 3的核心特点,如服务器端渲染(SSR)、静态站点生成(SSG)以及与Vue生态系统的无缝集成。文章以Nuxt 3为基础,指导开发者如何高效构建高...

nuxt3正确使用keepalive页面缓存组件缓存

最近使用 nuxt@3.x 版本做SEO优化项目比较多,之前也踩坑过,所以记录一下在 nuxt3 中路由缓存的正确使用方法,本人也之前在GitHub社区中提交过反馈问题,最后是在 3.8.2 版本解决了路由缓存问题。下面讲解如何正确使用keepalive做到页面缓存,组件缓存。 # 环境版本如下 n