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 保存数组到Cookie的代码
Apr 14 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
Sep 16 Javascript
javascript转换静态图片,增加粒子动画效果
May 28 Javascript
JavaScript中的this关键字使用详解
Aug 14 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
Aug 20 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
Dec 04 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
Dec 09 Javascript
web前端vue实现插值文本和输出原始html
Jan 19 Javascript
vue脚手架搭建项目的兼容性配置详解
Jul 17 Javascript
vue中get请求如何传递数组参数的方法示例
Nov 08 Javascript
js实现简单五子棋游戏
May 28 Javascript
node.js爬虫框架node-crawler初体验
Oct 29 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 cookis创建实现代码
2009/03/16 PHP
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
php基于mcrypt_encrypt和mcrypt_decrypt实现字符串加密解密的方法
2016/07/12 PHP
php获取微信基础接口凭证Access_token
2018/08/23 PHP
PHP中define() 与 const定义常量的区别详解
2019/06/25 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
JavaScript快速切换繁体中文和简体中文的方法及网站支持简繁体切换的绝招
2016/03/07 Javascript
node.js的事件机制
2017/02/08 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
js编写选项卡效果
2017/05/23 Javascript
基于JavaScript实现五子棋游戏
2020/08/26 Javascript
解决vue项目中type=”file“ change事件只执行一次的问题
2018/05/16 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
Python中的index()方法使用教程
2015/05/18 Python
python中is与双等于号“==”的区别示例详解
2017/11/21 Python
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
python定时任务 sched模块用法实例
2019/11/04 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
如何理解python中数字列表
2020/05/29 Python
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
请说出几个常用的异常类
2013/01/08 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
迎新晚会策划方案
2014/06/13 职场文书
个人收入证明模板
2014/09/18 职场文书
部队反四风对照检查材料
2014/09/26 职场文书
搞笑的婚礼主持词
2015/06/29 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
导游词之无锡华莱坞
2019/12/02 职场文书
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
字节飞书面试promise.all实现示例
2022/06/16 Javascript