VUE预渲染 webpack prerender-spa-plugin

本文介绍了如何在Vue.js项目中使用webpack的prerender-spa-plugin进行预渲染,以提升SEO。详细讨论了安装配置过程,包括设置headless参数、预渲染端口与本地环境的配合。此外,针对预渲染中遇到的meta信息重复和页面闪屏问题,提出了解决方案,包括创建额外的模板文件和使用loading效果。最后,提到了根据请求端口判断预渲染请求并相应地添加loading层,以优化用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

预渲染就是在构建阶段(npm run build)生成特定路由的html静态页面,利用webpack的prerender-spa-plugin 插件。
参考:https://www.npmjs.com/package/prerender-spa-plugin

  1. 安装 prerender-spa-plugin
    npm install prerender-spa-plugin --save-dev
  2. 配置 vue.config.js
    headless设置为false的话,构建的时候会弹出浏览器窗口,仅在调试时使用,在生成环境中不需要设置为false。
    server中指定的port是预渲染时的端口。
    预渲染的时候,首先webpack会启动一个本地环境,然后prerender-spa-plugin插件会依赖puppeteer,也就是谷歌的无头浏览器插件。
    依次爬取routes中设置的页面,将爬取获取的内容生成指定的html。
    在这里插入图片描述
  3. 使用vue-meta-info组件设置meta和title。
    注意静态和动态路由设置的方式略有差别。
    参考:https://www.npmjs.com/package/vue-meta-info

那么经过上面这3步之后,在本地构建时预渲染的页面就可以正常生成。

接下来就是服务器部署。
在linux上支持prerender-spa-plugin 预渲染,是需要额外手动配置的。

  1. linux服务器编译报错
    参考官方解决方案,安装依赖包。Centos和其他的还不一样,docker环境也不一样。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值