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 相关文章推荐
简单的前端js+ajax 购物车框架(入门篇)
Oct 29 Javascript
JS获取鼠标坐标的实例方法
Jul 18 Javascript
禁止ajax缓存获取程序最新数据的方法
Nov 19 Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 Javascript
javascript格式化json显示实例分析
Apr 21 Javascript
jQuery实现固定在网页顶部的菜单效果代码
Sep 02 Javascript
下雪了 javascript实现雪花飞舞
Aug 02 Javascript
jquery拼接ajax 的json和字符串拼接的方法
Mar 11 Javascript
JavaScript之Date_动力节点Java学院整理
Jun 28 Javascript
微信小程序的tab选项卡的实现效果
May 15 Javascript
使用React-Router实现前端路由鉴权的示例代码
Jul 26 Javascript
vue使用echarts实现水平柱形图实例
Sep 09 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更改目录及子目录下所有的文件后缀扩展名的代码
2010/10/12 PHP
php获取mysql数据库中的所有表名的代码
2011/04/23 PHP
php判断输入不超过mysql的varchar字段的长度范围
2011/06/24 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
php不允许用户提交空表单(php空值判断)
2013/11/12 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
PHP 实现缩略图
2021/03/09 PHP
JavaScript中Math对象使用说明
2008/01/16 Javascript
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
Javascript学习笔记二 之 变量
2010/12/15 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
2011/03/28 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
NodeJS 实现手机短信验证模块阿里大于功能
2017/06/19 NodeJs
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
[46:55]Ti4 冒泡赛第二轮 LGD vs C9
2014/07/14 DOTA
Python使用urllib2模块实现断点续传下载的方法
2015/06/17 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
pyspark给dataframe增加新的一列的实现示例
2020/04/24 Python
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
服务生自我鉴定
2014/01/22 职场文书
员工年终自我评价
2014/09/14 职场文书
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
大学生英文求职信范文
2015/03/19 职场文书
单位提档介绍信
2015/10/22 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS