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 相关文章推荐
Jquery替换已存在于element上的event的方法
Mar 09 Javascript
jquery关于图形报表的运用实现代码
Jan 06 Javascript
js简单的弹出框有关闭按钮
May 05 Javascript
js实现touch移动触屏滑动事件
Apr 17 Javascript
浅谈javascript中call()、apply()、bind()的用法
Apr 20 Javascript
javascript遇到html5的一些表单属性
Jul 05 Javascript
jQuery 实现评论等级好评差评特效
May 06 Javascript
JavaScript的String字符串对象常用操作总结
May 26 Javascript
JS实现返回上一页并刷新页面的方法分析
Jul 16 Javascript
Vue 动态组件components和v-once指令的实现
Aug 30 Javascript
微信小程序修改数组长度的问题的解决
Dec 17 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
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
URL Rewrite的设置方法
2007/01/02 PHP
php array_intersect()函数使用代码
2009/01/14 PHP
php教程 插件机制在PHP中实现方案
2012/11/02 PHP
php输出xml属性的方法
2015/03/19 PHP
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
jquery获取一个元素下面相同子元素的个数代码
2014/07/31 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
2016/07/07 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
js简易版购物车功能
2017/06/17 Javascript
JS库之ParticlesJS使用简介
2017/09/12 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
2018/12/23 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
微信小程序实现加入购物车滑动轨迹
2020/11/18 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
[18:32]DOTA2 HEROS教学视频教你分分钟做大人-谜团
2014/06/12 DOTA
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
python计算文本文件行数的方法
2015/07/06 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
合作经营协议书范本
2014/04/17 职场文书
学校门卫岗位职责范本
2014/06/30 职场文书
餐饮周年庆活动方案
2014/08/14 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
研究生毕业论文导师评语
2014/12/31 职场文书
行政介绍信范文
2015/05/04 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书