seo-使用nuxt定义页面标题和meta等信息

nuxt-seo-定义单页面的标题和meta元信息

1.Nuxt 3+版本

全局配置 :nuxt.config.ts 中配置即可
页面级配置: useHead 组合式 API(推荐)

javascript 复制代码
<script setup>
import { useHead } from '@unhead/vue'
// 静态配置
useHead({
  title: '默认标题',
  meta: [
    { name: 'description', content: '默认描述' }
  ],
  link:[
	{
	  rel: "icon",
      type: "image/png",
      href: "/favicon.png"
    }
  ]
})
// 动态配置(结合 ref),可以从路由信息中获取,也可从从接口获取title内容
const dynamicTitle = ref('初始标题')
useHead({
  title: dynamicTitle.value // 自动响应更新
  // title.useRoute().meta.title //从路由信息中获取
})
// 修改动态标题
setTimeout(() => {
  dynamicTitle.value = '新标题'
}, 3000)
</script>

动态 设置示例(如从 API 获取)

javascript 复制代码
<script setup>
import { useAsyncData } from 'nuxt/app'
const { data: seoData } = await useAsyncData('seo', () => {
  return $fetch('/api/seo-data') // 从 API 获取 SEO 数据
})
useHead({
  title: seoData.value.title,
  meta: [
    { name: 'description', content: seoData.value.description }
  ]
})
</script>

2.区分definePageMeta(定义路由信息)

用途: 配置页面级路由行为和 Nuxt 框架相关设置
作用域: 只能在 pages/ 目录下的组件中使用

javascript 复制代码
//这里的title是路由的标题,不是页面的title
definePageMeta({
  // 路由相关配置
  name: 'custom-route-name',     // 自定义路由名称
  path: '/custom/:id',           // 覆盖文件系统路由
  alias: ['/alt-path'],           // 路由别名
  // 布局控制
  layout: 'admin-layout',         // 指定使用的布局
  // 路由行为
  middleware: ['auth'],           // 应用的中间件
  pageTransition: { name: 'fade' }, // 页面过渡效果
  // 验证路由参数
  validate: (route) => /^\d+$/.test(route.params.id),
  // SEO 相关(需配合 useHead 使用)
  title: '默认标题',              // 不会直接设置 HTML title
});
//下面可以useHead使用路由信息
相关推荐
岁月宁静34 分钟前
在富文本编辑器中封装实用的 AI 写作助手功能
前端·vue.js·人工智能
533_4 小时前
[vue] dayjs 显示实时时间
前端·javascript·vue.js
ftpeak4 小时前
JavaScript性能优化实战
开发语言·javascript·性能优化
Devil枫4 小时前
【案例实战】HarmonyOS应用性能优化实战案例
华为·性能优化·harmonyos
武天5 小时前
Vue项目中有封装过axios吗?怎么封装的?
vue.js
jiangzhihao05156 小时前
升级到webpack5
前端·javascript·vue.js
橘子海全栈攻城狮6 小时前
【源码+文档+调试讲解】基于SpringBoot + Vue的知识产权管理系统 041
java·vue.js·人工智能·spring boot·后端·安全·spring
掘金安东尼7 小时前
官方:什么是 Vite+?
前端·javascript·vue.js
Brianna Home8 小时前
从零到一:用Godot打造2D游戏《丛林探险》
算法·游戏·性能优化·游戏引擎·bug·godot·动画
api_180079054608 小时前
性能优化揭秘:将淘宝商品 API 响应时间从 500ms 优化到 50ms 的技术实践
大数据·数据库·性能优化·数据挖掘