当前位置: 首页 > news >正文

【Vue前端】设置标题用于SEO优化

原文作者:我辈李想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。


文章目录

    • 1.vue全局配置
    • 2.创建并暴露getPageTitle方法
    • 3.通过全局前置守卫设置title
    • 4.页面上引用title
    • 5.项目使用中英文翻译,title失效


1.vue全局配置

我们在App.vue的同级创建settings.js文件,内容如下:

module.exports = {title: '天仪遥感数据中心',/*** @type {boolean} true | false* @description Whether fix the header*/fixedHeader: false,/*** @type {boolean} true | false* @description Whether show the logo in sidebar*/sidebarLogo: true
};

2.创建并暴露getPageTitle方法

const title = defaultSettings.title || 'Vue Element Admin';export default function getPageTitle(pageTitle) {if (pageTitle) {if (pageTitle === '首页') {return title;} else {return `${title}|${pageTitle}`;}}return `${title}`;
}

${title}|${pageTitle}是根据seo规则设置的,可以参考如下链接:https://blog.csdn.net/weixin_30166691/article/details/117980126?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%9F%BA%E4%BA%8Eseo%20html%20%E7%9A%84title%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE&utm_medium=distribute.pc_search_result.none-task-blog-2blogsobaiduweb~default-0-117980126.268v1control&spm=1018.2226.3001.4450

3.通过全局前置守卫设置title

import { createRouter, createWebHistory } from 'vue-router'const routes = [{path: '/posts',component: PostsLayout,children: [{path: 'new',component: PostsNew,// 只有经过身份验证的用户才能创建帖子meta: { requiresAuth: true }},{path: ':id',component: PostsDetail// 任何人都可以阅读文章meta: { requiresAuth: false }}]}
]let router = createRouter({ routes, history })// 全局前置守卫
router.beforeEach(async(to, from, next) => {// 将元信息里的token通过to获取到,并且赋值给document的title属性document.title = getPageTitle(to.meta.title);// 然后直接放行next();
});export default router;

在这里插入图片描述

4.页面上引用title

<template><div class="userInfo"><el-tabs><el-tab-pane :label="$route.meta.title" /></el-tabs></div>
</template>

5.项目使用中英文翻译,title失效

需要在language/zh.js和language/en.js中设置
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/125018.html

相关文章:

  • maven install
  • Vue.js2+Cesium1.103.0 七、Primitive 绘制航线元素
  • Mybatis 源码 ④ :TypeHandler
  • RabbitMQ和JMeter,一个完美的组合!优化你的中间件处理方式
  • WARNING: IPv4 forwarding is disabled. Networking will not work
  • SpringBoot复习:(40)@EnableConofigurationProperties注解的用法
  • Live Market是如何做跨境客户服务的?哪些技术赋能?
  • 2023年7月京东洗衣机行业品牌销售排行榜(京东数据分析软件)
  • 【0214】postgres后端进程session退出,如何通过日志分析其会话信息
  • Rust 重载运算符|复数结构的“加减乘除”四则运算
  • Oracle删除表空间
  • Mysql - 配置Mysql主从复制-keepalived高可用-读写分离集群
  • Qt QLineEdit输入时限制,采用正则表达式
  • 【CSS】文本效果
  • Django快速上手,写一个简单的页面,快来看看吧~
  • 【Express.js】数据库初始化
  • 【数理知识】三维空间旋转矩阵的欧拉角表示法,四元数表示法,两者之间的转换,Matlab 代码实现
  • 【业务功能篇63】Springboot聊聊 过滤器和拦截器
  • 提高学生学习效率的模拟考试系统
  • 解决QWebEngineView在linux下加载本地html失败的问题
  • 如何使用Redis实现内容推送功能
  • 怎么对视频进行压缩?
  • redisson配置类---SpringBoot集成、redis单机和集群模式配置
  • 瓴羊发布All in One 产品,零售SaaS的尽头是DaaS?
  • win10中Docker安装、构建镜像、创建容器、Vscode连接实例
  • 贝锐蒲公英:快速搭建连锁门店监控体系,赋能企业高效管理
  • c++ WinInet InternetOpenUrl下载中文文件
  • 算法通过村第三关-数组青铜笔记|单调数组
  • Springboot MultipartFile文件上传与下载
  • js this变量