首页 > 其他分享 >直播软件开发公司,单页应用首屏加载慢的应对方式

直播软件开发公司,单页应用首屏加载慢的应对方式

时间:2024-08-17 10:37:45浏览次数:10  
标签:use Vue compression 软件开发 单页 首屏 路由 加载

直播软件开发公司,单页应用首屏加载慢的应对方式

首屏加载慢怎么处理?

减小入口文件体积

常用的手段是路由懒加载,把不同的路由对应的组件分割成不同的代码块,待路由被请求的时候会单独打包路由,使得入口文件变小,加载速度大大增加
在vue-router配置路由的时候,采用动态加载路由的形式

routes:[
  path:'blog',
  name: 'blog',
  component: () => import('./components.blog.vue')
]

 

以函数形式加载路由,这样就可以把各自的路由文件分别打包,只有在解析给定路由时,才会加载路由组件

静态资源本地缓存

后端返回资源问题:
采用HTTP缓存,设置Cache-Control,Last-Modified,Etag等响应头
采用Service Worker 离线缓存
前端合理利用localStorage

UI框架按需加载
在日常使用UI框架,例如element-UI、或者antd,我们经常直接引入整个UI库

import Element from 'element-ui'
Vue.use(Element )

 

但实际上我们用到的组件只有按钮、分页、表格、输入与警告,所有我们要按需引入

import {Button, Input , Pagenation, Table} from 'element-ui'
Vue.use(Button)
Vue.use(Input)
Vue.use(Pagenation)
Vue.use(Table)

 

图片资源压缩
图片资源虽然不在编码过程中,但它确实对页面性能影响最大的因素
对于所有的图片资源,我们可以进行适当的压缩
对页面上使用到的icon 可以使用在线字体图标, 或者雪碧图。
开启GZip压缩
拆完包之后,我们在用gzip做一下压缩 安装compression-webpack-plugin
cnmp i compression-webpack-plugin -D
在vue.config.js中引入并修改webpack配置

const CompressionPlugin = require('compression-webpack-plugin')
 
configureWebpack: (config) => {
      if (process.env.NODE_ENV === 'production') {
          // 为生产环境修改配置...
          config.mode = 'production'
          return {
              plugins: [new CompressionPlugin({
                  test: /\.js$|\.html$|\.css/, //匹配文件名
                  threshold: 10240, //对超过10k的数据进行压缩
                  deleteOriginalAssets: false //是否删除原文件
              })]
          }
    }
}        

 

在服务器我们也要做相应的配置 如果发送请求的浏览器支持gzip,就发送给它gzip格式的文件 我的服务器是用express框架搭建的 只要安装一下compression就能使用

const compression = require('compression')
app.use(compression())  // 在其他中间件使用之前调用

 

使用SSR
SSR(Server side ),也就是服务端渲染,组件或页面通过服务器生成html字符串,再发送到浏览器
从头搭建一个服务端渲染是很复杂的,vue应用建议使用Nuxt.js实现服务端渲染

以上就是直播软件开发公司,单页应用首屏加载慢的应对方式, 更多内容欢迎关注之后的文章

标签:use,Vue,compression,软件开发,单页,首屏,路由,加载
From: https://www.cnblogs.com/yunbaomengnan/p/18364117

相关文章

  • 十年嵌入式软件开发面试资料分享
    liwen012024.08.17前言到今年,刚好毕业工作10年,作为求职者,十年间面试过不少公司。作为面试官,这些年也招牌面试过不少求职者。由刚毕业时的职场菜鸟,逐渐地也变成了现在菜鸟眼里的"老江湖"。4月份更新了一篇《不吹不黑:浅谈2024年嵌入式开发求职、面试、就业现状》,有不少同学对......
  • 读软件开发安全之道:概念、设计与实施01基础
    1. 基础1.1. 实现软件安全既需要运用逻辑,又是一项艺术1.1.1. 一项仰赖直觉来做出判断的艺术1.1.2. 需要践行者对当代数字系统有所掌1.1.3. 需要他们对人与系统之间的交互有所体悟1.2. 需要准确地思考一下何谓安全1.2.1. 安全定义的主观性颇强,因此厘清安全......
  • 微信分享朋友圈单页面设置
    需求:用户在朋友圈打开分享的小程序页面,并不会真正打开小程序,而是进入一个“小程序单页模式”的页面,需要自定义单页面样式第一步:先读官方文档 分享到朋友圈|微信开放文档由官方文档可知,当进入单页面会返回一个场景值1154,判断如果是1154就展示自定义内容第二步:在......
  • H5 html单页面实现对接接口,获取接口数据
    一、AJAX的一种实现方式,XMLHttpRequestvarxhr=newXMLHttpRequest();xhr.open("POST","你的接口URL",true);xhr.setRequestHeader("Content-Type","application/json;charset=UTF-8");//准备发送的数据vardata=JSON.stringif......
  • 安身立命之本:你需要具备的技能——之入行成为软件开发者
            如果一个软件开发者,自己安身立命之本都没有掌握,连代码都不会写,不能读懂代码,不能开发软件,那他怎么可能在这个行业立足呢?我们都想成为一名出色的开发者,但是对于大部分,特别是自学和刚入门的的人来说,对于怎样成为软件开发者并没有一个概念,并不是会写一个helloworl......
  • 软件开发:提升代码评审的标准与效率
    引言在软件开发过程中,代码评审是一个至关重要的环节,它不仅有助于保证代码质量,同时也促进团队成员间的知识分享与技能提升。然而,许多项目在执行代码评审时遇到了问题:缺少统一的标准与规范、忽视面向对象的特性和设计原则、缺少对设计模式的应用以及对单元测试的忽略,导致代码......
  • 低代码开发:软件开发领域的颠覆者
    如何看待“低代码”开发平台的兴起?近年来,“低代码”开发平台如雨后春笋般涌现,承诺让非专业人士也能快速构建应用程序。这种新兴技术正在挑战传统软件开发模式,引发了IT行业的广泛讨论。低代码平台是提高效率的利器,还是降低了编程门槛导致质量下降?它会改变开发者的工作方式......
  • 直播软件开发,实现模糊搜索的代码分析
    直播软件开发,实现模糊搜索的代码分析核心思想:将用户输入的字符串进行拆分去与数组的每一项做匹配,把符合的保存下来即可。要进行拆分这里就需要用到正则表达式实现//其余代码同上handleSearch(queryString){letqueryStringArr=queryString.split("");letst......
  • 对比测试:ColorPix如何在软件开发中脱颖而出?
    前言在五彩斑斓的数字世界里,每一抹色彩都蕴含着无尽的想象与可能;你是否曾在创作时,被屏幕上的某个绝妙色彩所吸引,却苦于无法精准捕捉?是否渴望在设计的海洋中,拥有一把能瞬间捞起心头所爱的“颜色捞”?别急,小江湖今日便要揭秘一款神器——ColorPix,它不仅仅是一个工具,更是你创意之......
  • 软件开发架构(三) - DDD理论
    DDD(Domain-DrivenDesign)领域驱动设计DDD是一种软件开发方法论,强调将复杂的业务领域模型化。它将应用程序分为几个主要部分:用户界面层、应用层、领域层和基础设施层。在Java开发中,DDD常用于构建复杂的企业级应用。用户界面层(UserInterfaceLayer):负责向用户展示信息并解......