vue项目优化

145 阅读2分钟

项目优化的几种方案:

第一类:从书写习惯来说:

1、不要把所有数据都写在data中,只把需要响应的数据写在里面:

原因:在获取数据时需要调用getter方法,设置数据时需要调用setter方法,如果把所有数据都写在里面,每次都需要调用很多getter和setter,降低性能

2、SPA(single page application)单页

尽可能不使用单页渲染,SEO不高,可以用SSR(服务端渲染) 利用keep-alive把组件中的解构和数据缓存起来

3、尽可能的把组件划分最小 减小颗粒度

原因:提高利用性,增加代码可维护性,减少不必要的渲染

4、合理使用 v-if & v-show

v-if:直接控制DOM树的渲染与否

v-show:都渲染,只是通过display来控制显示与否

如果频繁的让一个组件显示与否,可以使用v-show,否则可以使用v-if 5、在v-for的使用上必须绑定key值

一般情况下,不要使用index来绑定key,尽可能使用id来绑定,减少不必要渲染

原因:当数据顺序改变时,如果使用index绑定key值,改变顺序的都需要重新渲染,而使用id绑定的只需要调换一下顺序,不需要再渲染   

6、Object.freeze:可以数据劫持,对于不经常使用的数据,可以冻结。

7、路由懒加载:

import xx from xx components{}

components:()=>import()

8、动态导入组件:按需导入

第二类:懒加载(按需加载)

图片懒加载:
第三方模块 webpack

第三类:提升用户体验:

骨架屏   在vue.config.js中配置
pwa:先缓存 在弱网下适用
shell

第四类:SEO

预渲染:先用死数据,新数据得到后再替换,避免网差情况下出现白屏,适用一些官网,不经常变化的

第五类:从后端

缓存、压缩