vue 打包文件体积过大优化

因app首页加载不流畅,于是去检查首页加载项的耗时,最终发现是前端加载时js文件太大,导致首页加载太慢,于是选择了以下方案进行优化。

一、安装compression-webpack-plugin插件。前端将文件打包成.gz文件,然后通过nginx的配置,让浏览器直接解析.gz文件,可以大大提升文件加载的速度。

二、接下来要去修改vue的配置文件 vue.config.js

三 打包后对比

vue长列表性能优化

一、原因

当页面dom元素太多时浏览器渲染速度就会变慢,当浏览器内存不足时甚至会导致浏览器卡顿或者卡死等现象。因此对症下药,解决方案就是减少页面dom的渲染。

二、原理

可以通过按需进行加载dom,即只显示可视化区域的数量。从而减少dom的结构,实现性能提升。因此,分页加载、懒加载等方案根本治标不治本。

三、实现

此文章基于 vue-virtual-scroll-list 第三方插件,通过虚拟列表进行滚动加载数据。

2个关键的参数,分别是size和keeps。size属性指每一行高度,默认50px,keeps属性指每一行显示个数, 默认30个。

四、效果

Vue单页面如何做seo页面优化

1、服务端渲染

服务端渲染对于刚接触 vue 的新手来说,并不是那么友好,虽然已有官方 SSR 中文文档。但是对于一个已经开发完毕的 vue 项目去接 SSR 无论是从工作量还是技术角度来说,都是一种挑战。

2、预渲染方式

在构建时 (build time) 简单地生成针对特定路由的静态 HTML 文件。优点是设置预渲染更简单,并可以将您的前端作为一个完全静态的站点。如果您使用 webpack,您可以使用 prerender-spa-plugin 轻松地添加预渲染。它已经被 Vue 应用程序广泛测试。

使用vue后怎么针对搜索引擎做SEO优化?

适用于vue的SEO优化方案,以下几种:

(1)ssr,即单页面后台渲染

(2)vue-meta-info 与prerender-spa-plugin 预渲染

(3)nuxt

(4)phantomjs

第 005 期 Vue 运行时性能优化之减少渲染组件的次数

减少组件的渲染次数,能提升 Vue App 的运行时性能。通过写法的优化,可以减少不必要的组件渲染次数。

开发中,我们会碰到用动态组件的情况。如多标签的页面,每个标签的内容是个动态组件:

标签来回切换,同一个组件会被重复渲染。用 keep-alive 包裹动态组件,可以缓存组件的渲染结果,保证同一个组件只被渲染一次。优化写法如下:

v-if 有更高的切换开销。 v-show 有更高的初始渲染开销,其值变化时,内容并不会重新渲染。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

插槽的数据发生改变时,旧的插槽写法,会导致插槽父组件的更新,插槽组件也就更新了。新的插槽写法只会更新插槽组件,少了更新父组件这过程。

旧的插槽写法:

Vue 2.6 加了新的插槽写法: v-slot 。如下:

了解更多插槽新写法的内容,见 Vue 2.6 发布了 。

vue项目首屏加载优化

前端方面可以使用的操作:

1.尽量使用线上资源,本地的图片尽量上传

2.首屏的轮播图尽量不要采用线上图片,加载慢时会产生图片一块一块加载的问题,可以把本地图片转成base64来解决这个问题。注:本地图片不要过大,否则也会拖慢加载速度

3.对UI组件库使用按需引入

4.使用压缩传输compression-webpack-plugin,这个需要后端配合开启

5.删除map文件,在vue.config.js中把productionSourceMap设置为false即可