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显示选择目录对话框的代码
Nov 10 Javascript
jquery validate.js表单验证的基本用法入门
May 13 Javascript
url地址自动加#号问题说明
Aug 21 Javascript
js冒泡法和数组转换成字符串示例代码
Aug 14 Javascript
JS两种定义方式的区别、内部原理
Nov 21 Javascript
jquery可定制的在线UEditor编辑器
Nov 17 Javascript
Javascript实现图片不间断滚动的代码
Jun 22 Javascript
JavaScript每天必学之数组和对象部分
Sep 17 Javascript
JSX在render函数中的应用详解
Sep 04 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
Sep 20 Javascript
layui多图上传实现删除功能的例子
Sep 23 Javascript
JS删除数组指定值常用方法详解
Jun 04 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动态生成VRML网页
2006/10/09 PHP
php session应用实例 登录验证
2009/03/16 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
2016/05/13 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
php无限极分类实现方法分析
2019/07/04 PHP
如果文字过长,则将过长的部分变成省略号显示
2006/06/26 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
javascrip关于继承的小例子
2013/05/10 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
2014/01/14 Javascript
js实现分享到随页面滚动而滑动效果的方法
2015/04/10 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
微信小程序实现原生步骤条
2019/07/25 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
Python获取任意xml节点值的方法
2015/05/05 Python
Django与遗留的数据库整合的方法指南
2015/07/24 Python
python中使用序列的方法
2015/08/03 Python
python多线程方式执行多个bat代码
2016/06/07 Python
利用python写个下载teahour音频的小脚本
2017/05/08 Python
python如何实现反向迭代
2018/03/20 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2019/04/12 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
将世界上最美丽的摄影作品转化为艺术作品:Photos.com
2017/11/28 全球购物
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
2015新员工试用期工作总结
2014/12/12 职场文书
法律服务所工作总结
2015/08/10 职场文书
《卧薪尝胆》读后感3篇
2019/12/26 职场文书