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 ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
Mar 27 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
Jan 15 Javascript
JS实现鼠标单击与双击事件共存
Mar 08 Javascript
javascript继承的六大模式小结
Apr 13 Javascript
PageSwitch插件实现100种不同图片切换效果
Jul 28 Javascript
AngularJS Phonecat实例讲解
Nov 21 Javascript
Angular.js跨controller实现参数传递的两种方法
Feb 20 Javascript
微信小程序中做用户登录与登录态维护的实现详解
May 17 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
Feb 09 Javascript
javascript中可能用得到的全部的排序算法
Mar 05 Javascript
基于ajax实现上传图片代码示例解析
Dec 03 Javascript
vue组件冲突之引用另一个组件出现组件不显示的问题
Apr 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
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
用PHP实现文件上传二法
2006/10/09 PHP
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
PHP编写daemon process 实例详解
2016/11/13 PHP
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
2019/03/04 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
Python科学计算环境推荐——Anaconda
2014/06/30 Python
Python入门学习之字符串与比较运算符
2015/10/12 Python
python常见的格式化输出小结
2016/12/15 Python
Python 解决中文写入Excel时抛异常的问题
2018/05/03 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
python检测IP地址变化并触发事件
2018/12/26 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
2020/03/06 Python
使用Python操作MySQL的小技巧
2020/09/10 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
九州传奇上机题
2014/07/10 面试题
Shell脚本如何向终端输出信息
2014/04/25 面试题
技术人员面试提纲
2013/11/28 职场文书
大学生自荐信
2013/12/11 职场文书
物业工作计划书
2014/01/10 职场文书
办理暂住证介绍信
2014/01/11 职场文书
药品采购员岗位职责
2014/02/08 职场文书
投资意向书范本
2014/04/01 职场文书
社区工作者个人总结
2015/02/28 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP