vue-cli单页面预渲染seo-prerender-spa-plugin操作


Posted in Javascript onAugust 10, 2020

1 vue-cli-plugin-prerender-spa

使用方法:

vue add prerender-spa

在安装的过程中会需要安装一个chrome,网速不好可能导致不能下载,导致安装失败,可以取消chrome的安装,然后手动下载放在指定的目录下;

安装过程中选择需要预渲染的route

vue-cli单页面预渲染seo-prerender-spa-plugin操作

安装成功:

vue-cli单页面预渲染seo-prerender-spa-plugin操作

自动在main.js中加入:

vue-cli单页面预渲染seo-prerender-spa-plugin操作

2 使用prerender-spa-plugin插件

cnpm i prerender-spa-plugin --save-dev

vue-cli2.0 在build/webpack.prod.conf.js中:

const PrerenderSPAPlugin = require('prerender-spa-plugin')

const Renderer = PrerenderSPAPlugin.PuppeteerRenderer

注册插件:

在plugins中加入:

new PrerenderSPAPlugin({
  staticDir: path.join(__dirname, '../dist'),//打包文件的路径,或者自定义一个文件路径
  routes: ['/test', '/'],//需要预渲染的route路径
  renderer: new Renderer({
  inject: {
   foo: 'bar'
  },
  headless: true,
  renderAfterDocumentEvent: 'render-event'//需要在实例化Vue中监听的事件,名称要相对应
  })
 })

vue-cli3.0

在vue.config.js

const PrerenderSPAPlugin = require('prerender-spa-plugin');
const Renderer = PrerenderSPAPlugin.PuppeteerRenderer;
const path = require('path');
module.exports = {
 configureWebpack: config => {
 if (process.env.NODE_ENV !== 'production') return;
 return {
  plugins: [
  new PrerenderSPAPlugin({
   // 生成文件的路径,也可以与webpakc打包的一致。
   // 下面这句话非常重要!!!
   // 这个目录只能有一级,如果目录层次大于一级,在生成的时候不会有任何错误提示,在预渲染的时候只会卡着不动。
   staticDir: path.join(__dirname,'dist'),
   // 对应自己的路由文件,比如a有参数,就需要写成 /a/param1。
   routes: ['/', '/product','/about'],
   // 这个很重要,如果没有配置这段,也不会进行预编译
   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() {
 // You'll need this for renderAfterDocumentEvent.
 document.dispatchEvent(new Event('render-event'))
 }
})

以上这篇vue-cli单页面预渲染seo-prerender-spa-plugin操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript获取HTML静态页面参数传递值示例
Aug 18 Javascript
通过javascript把图片转化为字符画
Oct 24 Javascript
使用pjax实现无刷新更改页面url
Feb 05 Javascript
百度地图自定义控件分享
Mar 04 Javascript
Javascript编写2048小游戏
Jul 07 Javascript
JS实现的通用表单验证插件完整实例
Aug 20 Javascript
跟我学习javascript的浮点数精度
Nov 16 Javascript
基于JS+Canves实现点击按钮水波纹效果
Sep 15 Javascript
实例讲解JavaScript预编译流程
Jan 24 Javascript
JS栈stack类的实现与使用方法示例
Jan 31 Javascript
vue.js的状态管理vuex中store的使用详解
Nov 08 Javascript
JS实现横向跑马灯效果代码
Apr 20 Javascript
js实现计算器功能
Aug 10 #Javascript
js实现盒子拖拽动画效果
Aug 09 #Javascript
js实现盒子移动动画效果
Aug 09 #Javascript
js实现弹窗效果
Aug 09 #Javascript
js实现表格数据搜索
Aug 09 #Javascript
js实现微信聊天界面
Aug 09 #Javascript
js实现微信聊天效果
Aug 09 #Javascript
You might like
分享PHP入门的学习方法
2007/01/02 PHP
PHP面向对象——访问修饰符介绍
2012/11/08 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
php使用cookie实现记住用户名和密码实现代码
2015/04/27 PHP
PHP正则验证Email的方法
2015/06/15 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
2014/08/15 Javascript
javascript模拟post提交隐藏地址栏的参数
2014/09/03 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
微信小程序中单位rpx和rem的使用
2016/12/06 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
javascript实现打砖块小游戏(附完整源码)
2020/09/18 Javascript
python简单实现计算过期时间的方法
2015/06/09 Python
python实现聊天小程序
2018/03/13 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
幼儿园教研活动总结
2014/04/30 职场文书
2014年城市管理工作总结
2014/12/02 职场文书
小学运动会报道稿
2015/07/22 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python