vuejs 预渲染插件 prerender-spa-plugin 生成多页面 -- SEO

news/2024/5/19 10:30:32/文章来源:https://blog.csdn.net/weixin_33950035/article/details/93918851

前端vue等框架打包的项目一般为SPA应用,而单页面是不利于SEO的,现在的解决方案有两种:

1、SSR服务器渲染
   了解服务器渲染请进,这里不做记录。

2、预渲染模式
   这比服务端渲染要简单很多,而且可以配合 vue-meta-info 来生成title和meta标签,基本可以满足SEO的需求 
   TIPS: 使用预渲染vue-router必须使用history模式

// 安装
npm install prerender-spa-plugin --save

然后在webpack.prod.conf.js里面添加:

// 头部引入
const PrerenderSPAPlugin = require('prerender-spa-plugin')
const Renderer = PrerenderSPAPlugin.PuppeteerRenderer

在plugins里面添加:

new PrerenderSPAPlugin({// 生成文件的路径,也可以与webpakc打包的一致。// 下面这句话非常重要!!!// 这个目录只能有一级,如果目录层次大于一级,在生成的时候不会有任何错误提示,在预渲染的时候只会卡着不动。staticDir: path.join(__dirname, '../dist'),// 对应自己的路由文件,比如a有参数,就需要写成 /a/param1。routes: ['/', '/a', '/b', '/c', '/d'],// 预渲染代理接口
  server: {proxy: {'/api': {target: 'http://localhost:9018',secure: false}}},// 这个很重要,如果没有配置这段,也不会进行预编译renderer: new Renderer({inject: {foo: 'bar'},headless: false,// 在 main.js 中 document.dispatchEvent(new Event('render-event')),两者的事件名称要对应上。renderAfterDocumentEvent: 'render-event'})
}),

最后在main.js里面修改:

new Vue({el: '#app',router,components: { App },template: '<App/>',// 添加mounted,不然不会执行预编译
  mounted () {document.dispatchEvent(new Event('render-event'))}
})

到这里预编译的配置修改就完成了,执行 npm run build 查看打包后的dist文件就会发现如下结构:

 

安装 vue-meta-info 配置title和meta:

npm install vue-meta-info --save

在main.js引入:

import MetaInfo from 'vue-meta-info'
Vue.use(MetaInfo)

在vue页面中配置:

<script>
export default {// 配置title和meta数据
  metaInfo: {title: '我是一个title',meta: [{name: 'keywords',content: '关键字1,关键字2,关键字3'},{name: 'description',content: '这是一段网页的描述'}]},data () {return {}}
}
</script>

到这里 prerender-spa-plugin 与 vue-meta-info 就全部完成了

 

转载于:https://www.cnblogs.com/kdcg/p/9606302.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_781639.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【推荐】[网址]PHP各种开源网站系统、cms系统一览[持续更新]

2019独角兽企业重金招聘Python工程师标准>>> 开源的网站系统很多&#xff0c;今天小编统计整理一下现在流行的各种开源系统、cms推荐&#xff0c;分享给大家参考使用,如果大家有好的资源分享&#xff0c;也请在本文留言评论&#xff01; 1.cms系统 1&#xff09;知名…

如何把某个网站的SSL Server certificate链导入到ABAP Netweaver系统里

我们在用ABAP代码消费外网的url时会遇到一些异常&#xff0c;比如ICM_HTTP_SSL_PEER_CERT_UNTRUSTED&#xff0c;这是因为请求的url所在的网站的SSL Server certificate没有导入到Netweaver系统。 本文介绍导入的详细步骤。 基本思路就是两步&#xff1a; 从网站上导出certific…

【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器

一、反向代理&#xff1a;Web服务器的“经纪人” 1.1 反向代理初印象 反向代理&#xff08;Reverse Proxy&#xff09;方式是指以代理服务器来接受internet上的连接请求&#xff0c;然后将请求转发给内部网络上的服务器&#xff0c;并将从服务器上得到的结果返回给internet上请…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能&#xff0c;通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

企业项目实战----使用LNMP架构部署动态网站环境 | 搭建Discuz!论坛

前言 本文使用的是用源码包安装服务程序&#xff0c;难度可能较大&#xff0c;至于为何要用源码包安装程序&#xff0c;说简单点就是方便自己使用吧&#xff0c;以及这是一门必备技能&#xff0c;以后在运维工作中也是会用到的&#xff01; 一、源码安装服务程序步骤 1、下载…

网站性能压力测试工具webbench的安装与使用

1、下载安装WebBench 下载webbench [rootnode1 Downloads]# wget http://www.ha97.com/code/webbench-1.5.tar.gz解压 [rootnode1 Downloads]# tar zxf webbench-1.5.tar.gz -C ~安装依赖性 [rootnode1 webbench-1.5]# yum install ctags -y建立安装所需目录 [rootnode1 w…

大型网站技术架构(二)架构模式

2019独角兽企业重金招聘Python工程师标准>>> 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样&#xff0c;你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠…

用python爬猫眼电影,简单网站却有 “多重思路” !

七夕不看电影就爬电影吧。猫眼电影作为爬虫的必备练手网站&#xff0c;相信每个人都试过吧&#xff1f; 那么这篇文章&#xff0c;我就再爬一次猫眼电影&#xff0c;而且用上正则和xpath一起&#xff0c;分别保存为excel表格和csv表格&#xff0c;&#xff08;text文本这个就太…

每周推荐一本书 - 《大型网站技术架构》

这本书是阿里资深架构师写的一本书 不去评论作者的能力&#xff0c;对于新手来说&#xff0c;我觉得这本书是对于大型网站后台建设思路的扫盲书&#xff0c;很值得小白一读。 本书特点&#xff1a; 1.纯概念性内容&#xff0c;认字的都能读&#xff0c;不需要很强的编程基础…

2020年没被淘汰的IT精英都看这14个全球知名网站

马上2020了&#xff0c;我身边很多同事又开始准备新一轮面试&#xff0c;他们来自阿里&#xff0c;IBM&#xff0c;Oracle&#xff0c;airbnb等&#xff0c;他们从不自称大神。我问他们平时都是从哪里学新技术&#xff0c;外企经验都精英总结们得出结论&#xff0c;国内互联网的…

【阿里云ECS进阶训练营】day01搭建自己的专属网站与云笔记

目录一&#xff1a;课程介绍二&#xff1a;安装VuePress1.连接ECS服务器2.设置实例安全组3.安装Node.js4.安装VuePress三&#xff1a;配置VuePress1、基本配置步骤2.首页配置示例一&#xff1a;课程介绍 VuePress是受欢迎的极简静态网站生成器&#xff0c;它还未书写技术文档而…

520创意表白网站,让女友对你死心塌地。女神轻松领回家

可能很多女生都会觉得程序员都是直男&#xff0c;不懂浪漫。但是&#xff01;&#xff01;&#xff01;看完这个教程之后&#xff0c;让女友对你死心塌地。 这是一个基于js和html搭建的简单界面&#xff0c;你只需要把代码下载下来&#xff0c;然后再简单的改一下代码信息&…

网站开发——旅游网项目(简单前后台实现)

目录 前言 一、网站使用前后台展示 二、开发过程 准备工作&#xff08;技术选型、创建Maven工程、导包、创建实体类、工具类&#xff09; 技术选型 其他的一些准备工作就不赘述了&#xff0c;代码全在我最下面的提取文件中。 逻辑思路&#xff08;后台到前台&#xff09…

h5网站对服务器要求高么,专业网页设计师告诉你,H5究竟是什么?

原标题&#xff1a;专业网页设计师告诉你&#xff0c;H5究竟是什么&#xff1f;H5是Html5的简称&#xff0c;最近两年H5是互联网领域极为火爆的名词&#xff0c;并由此诞生了不少垂直型H5制作企业&#xff0c;一些互联网巨头也早早准备&#xff0c;或开发或投资或收购&#xff…

GitHub+Hexo 搭建个人网站详细教程

一、什么是Hexo ? Hexo是一款基于Node.js的静态博客框架&#xff0c;依赖少易于安装使用&#xff0c;可以方便的生成静态网页托管在GitHub和Heroku上&#xff0c;是搭建博客的首选框架。这里我们选用的是GitHub&#xff0c;你没看错&#xff0c;全球最大的同性恋交友网站&…

email邮件中 内嵌iframe_网站搭建8:Django项目中嵌入Jupyter notebook

最近感兴趣研究了一下量化交易&#xff0c;在聚宽&#xff08;JoinQuant&#xff09;网站中看到网页中嵌入了Jupyter notebook&#xff08;多语言支持的Html笔记本应用程序&#xff09;。而我也经常使用Jupyter测试神经网络等机器学习算法&#xff0c;如果可以把Jupyter架设在自…

吐血推荐-巧用网站配置文件提升权限!!!

巧用网站配置文件提升权限本文已被***手册杂志2007年第三期收录朋友给我发来一个Asp的Webshell的地址&#xff0c;然后又给我发了一条消息“痛苦&#xff0c;拿到Webshell&#xff0c;由于权限太低&#xff0c;什么也干不了&#xff01;&#xff08;图1&#xff09;”&#xff…

程序员常用的技术网站

&#xff08;http://stackoverflow.com/&#xff09;这个网站我几乎可以不用介绍了&#xff0c;就算你们不常用&#xff0c;就算每次你都用搜索引擎去找编程相关问题都有很大可能跳入此网站。此网站用途&#xff1a;当你碰到任何编程问题&#xff0c;就去搜索该问题&#xff0c…

php的bom头会影响格式,完美解决由bom头引发的非法字符#65279;出现php网站模板或功能问题...

今天为一个客户解决网页模板问题发现一个有意思的问题&#xff0c;客户还是对代码有些小懂&#xff0c;自己尝试着改了一下&#xff0c;结果发现头部多出来一个空行&#xff0c;找到我以后&#xff0c;随即f12查看了一下&#xff0c;一看乐了&#xff0c;出现了个&#xfeff;字…

SeleniumPhantomJS获取网站中的JS返回的数据

一、安装Selenium模块 pip install selenium Selenium 是一套完整的Web应用程序测试系统&#xff0c;包含了测试的录制、编写及运行和测试的并行处理。二、安装PhantomJS(官网下载&#xff1a;http://phantomjs.org/&#xff09; 下载后放在python安装目录&#xff0c;和…