解决spa页面首屏加载慢的方式笔记

2023-12-18 07:30

本文主要是介绍解决spa页面首屏加载慢的方式笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.减少入口文件的体积

路由懒加载:在需要的时候进行加载,按需加载
前提:进行懒加载的子模块需要是一个单独的文件,所以要实现懒加载,就得先将进行懒加载的子模块(子组件)分离出来
vue router 支持开箱即用的动态导入,意味着你可以使用动态导入代替静态导入

路由懒加载实现方式:

1 .异步组件

{path: '/home',name: 'Home',component: resolve => require(['@/components/Home'],resolve)
},{path: '/index',name: 'Index',component: resolve => require(['@/components/Index'],resolve)
},

2.使用import

{
未指定webpackChunkName,所以每个组件打包成一个js文件path: '/home',component: () => import('@/components/Home')
}, {
//指定webpackChunkName,所以相同的webpackChunkName会合并打包成一个js文件path: '/index',component: () => import(/* webpackChunkName: 'importPage' */ '@/components/Home')
}, 

3.require.ensure()

//webpack提供的require.ensure(), 相同的webpackChunkName会合并打包成一个js文件
{path: '/home',name: 'Home',component: r => require.ensure([], () => r(require('@/components/Home')), 'page1')
}, {path: '/index',name: 'Index',component: r => require.ensure([], () => r(require('@/components/Index')), 'page1')
}

2.静态资源本地缓存

  1. 后端返回的资源,采用http缓存

3. ui框架按需引入,开发过程中可能不止用到一个组件库,尽量不要全局引入

4.避免组件重复打包

在webpack的config文件中,修改CommonsChunkPlugin的配置,设置minChunks为2,表示会把使用两次次以上的包抽离出来,放到公共依赖文件中,避免重复加载组件爱你

5. 压缩图片资源,大量使用的图标啥的,使用雪碧图,使用background-position设置它的偏移量来显示图片,像logo等图片放在assets文件夹下,其余的图片放在静态托管目录public里面

6. 使用ssr服务端渲染

vue可以使用Nuxt.js实现服务端渲染

这篇关于解决spa页面首屏加载慢的方式笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/507562

相关文章

Django中的函数视图和类视图以及路由的定义方式

《Django中的函数视图和类视图以及路由的定义方式》Django视图分函数视图和类视图,前者用函数处理请求,后者继承View类定义方法,路由使用path()、re_path()或url(),通过in... 目录函数视图类视图路由总路由函数视图的路由类视图定义路由总结Django允许接收的请求方法http

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

pandas数据的合并concat()和merge()方式

《pandas数据的合并concat()和merge()方式》Pandas中concat沿轴合并数据框(行或列),merge基于键连接(内/外/左/右),concat用于纵向或横向拼接,merge用于... 目录concat() 轴向连接合并(1) join='outer',axis=0(2)join='o

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.