vue通过prerender-spa-plugin实现预渲染
话不多说,直接上代码
- 安装
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'
})
})
- main.js
mounted() {
document.dispatchEvent(new Event('custom-render-trigger'))
}
最后直接npm run build 打包

这里有一个坑, 直接这样部署到服务器以后页面会找不到css和js文件
修改config/index.js
assetsPublicPath: '../'
以上就是关于prerender-spa-plugin实现vue预渲染的全部内容了
本文介绍了如何在Vue项目中通过prerender-spa-plugin进行预渲染,以提高SEO和首屏加载速度。详细步骤包括安装插件、配置webpack和main.js,以及解决部署后静态资源路径问题。最后提醒注意修改config/index.js的assetsPublicPath设置。
1万+

被折叠的 条评论
为什么被折叠?



