vue通过prerender-spa-plugin实现预渲染

vue通过prerender-spa-plugin实现预渲染

话不多说,直接上代码

  1. 安装
npm install --save prerender-spa-plugin@3.4.0

这个安装的时候可能会报错, 可以用cnpm安装
2. webpack.prod.conf.js

const PrerenderSPAPlugin = require('prerender-spa-plugin')
const Renderer = PrerenderSPAPlugin.PuppeteerRenderer


new PrerenderSPAPlugin({
      staticDir: path.join(__dirname, '../dist'),
      //这里录入需要预渲染的路由, vue-router一定要改为history模式
      routes: [ '/', '/quickCalcManager','/lgsbsManager','/surveyManager','/policysManager','/companyManager' ],

      renderer: new Renderer({
        inject: {
          foo: 'bar'
        },
        headless: true,
        // renderAfterDocumentEvent: 'render-event'
      })
    })
  1. main.js
mounted() {
    document.dispatchEvent(new Event('custom-render-trigger'))
}

最后直接npm run build 打包
在这里插入图片描述
这里有一个坑, 直接这样部署到服务器以后页面会找不到css和js文件
修改config/index.js

assetsPublicPath: '../'

以上就是关于prerender-spa-plugin实现vue预渲染的全部内容了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值