项目场景:

近期项目打包上线后,首屏加载速度太慢.记录一下优化的步骤;


解决方案:

一.开启Nginx压缩

参考知乎文章 vue-cli3项目开启gzip压缩 - 知乎

下图已经是 开启了 Nginx 进行 gzip压缩后的效果;依旧很慢.

二.屏蔽生产环境的source map

vue.config.js中设置:

 productionSourceMap: false,

三.echarts改为 CDN 引入 :

从压缩体积图可以看出 echarts 占用的体积也很多; 所以先对echarts进行优化:

1. 在public/index.html中 引入 :

  <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.1/echarts.common.js"></script>

2. 在 vue.config.js 中 configureWebpack 配置 externals

外部扩展(Externals) | webpack 中文文档

externals  : 防止将某些 import 的包(package)打包到 bundle 中,而是在运行时(runtime)再去从外部获取这些扩展依赖(external dependencies)

configureWebpack : 有2种写法,一种是函数式,一种是对象的形式(参考官网)

我司项目中使用的是函数式的写法,且vue/cli是使用的3.x版本,而3.x版本中没有externals 的配置项,所以需要使用新增属性的形式添加;代码如下

 configureWebpack: config => {config['externals'] = {echarts: 'echarts'}},

3. 在vue组件中直接使用 echarts 即可.

此时再来看 打包的体积 :        


对比之前小了大概2M多.再看上图中还有很多体积比较大的组件 同样可以采用上述方法改cdn加载.


vue项目首屏加载慢解决方案相关推荐

  1. vue项目首屏加载过慢解决方案

    前言 因为我的一个vue项目首页打开加载了好久,所以决定优化一下.发现是打包体积太大了,页面才加载慢主要是第三方库. 优化着优化着就想要更好一点,于是逛博客搜索,参照了几个博主的解决方法整理出一下几点 ...

  2. vue项目首屏加载优化

    1.将第三方资源使用cdn引入 将项目中用到的一些第三方库通过cdn的方式引入的话,在打包的时候就不需要对第三方库进行打包,自然就减小了包的大小,首屏加载的时候所加载的内容也就减少了,加载时间就少了. ...

  3. vue项目首屏加载过久处理笔记

    1.启用gz 配置: 服务器开启gzip 会生成 gz 文件,现代浏览器基本都支持,会读取gz文件,. 开启配置:https://blog.csdn.net/baidu_35407267/articl ...

  4. 项目遇到的问题总结(四):单页面首屏加载慢解决方案

    项目遇到的问题总结(四):单页面首屏加载慢解决方案 参考文章: (1)项目遇到的问题总结(四):单页面首屏加载慢解决方案 (2)https://www.cnblogs.com/myfirstboke/ ...

  5. [vue] SPA首屏加载速度慢的怎么解决?

    [vue] SPA首屏加载速度慢的怎么解决? 1.通过Gzip压缩 2.使用路由懒加载 3.利用webpack中的externals这个属性把打包后不需要打包的库文件都分离出去,减小项目打包后的大小 ...

  6. 记前端项目首屏加载优化(网络篇)

    继之前的一篇<记前端项目首屏加载优化(打包篇)>之后,这次来讲一讲我的首屏加载在网络方面的优化?. 写在前面 资源加载是一个网站的展示在用户浏览器的必经之路,资源的请求次数和响应时间决定了 ...

  7. Vue:首屏加载页实现

    众所周知vue项目通常首屏加载会非常慢,在浏览器加载资源时,可以在首屏加入一个loading页面. 首先找到在根目录下的 /pulic/index.html: 在 index.html 中找到我们的i ...

  8. Vue - 网站首屏加载等待动画(极简解决方案)

    效果图 前言 解决白屏等待方案非常多,个人而言评判好坏的标准即 用最少最简单的代码实现相同的功能. 在 Vue 项目中,网站加载时会显示自定义动画(CSS),当文件加载完毕且页面显示时自动移除动画. ...

  9. vue实现首屏加载等待动画 避免首次加载白屏尴尬

    为什么80%的码农都做不了架构师?>>>    0 直接上效果图 1背景,用户体验良好一直是个重要的问题. 2怎么加到自己项目里面? 复制css html代码到自己的index.ht ...

最新文章

  1. Hello, World!的大小
  2. Android之简单的文件夹选择器实现
  3. Matrix PKU 2155
  4. 精通ASP.NET MVC ——URL和Ajax辅助器方法
  5. 扫地机器人单扫和双扫_小米扫拖机器人体验:再见了,拖把君
  6. vs中工具箱代表的意思_“日”除了代表太阳,其实还有这种意思,特别是出现在这些词语中的“日”...
  7. chrome打开清除浏览数据窗口快捷键
  8. Babylon-AST初探-代码生成(Create)
  9. Oracle ------ SQLDeveloper中SQL语句格式化快捷键
  10. Vue默认插槽、具名插槽、作用域插槽及使用作用域插槽删除列表项
  11. Eclipse卸载插件SpringSoource-tool-suite
  12. python从入门到放弃-掌握这个学习方法,让 Python 不再从入门到放弃
  13. bzoj 1798 5039: [Jsoi2014]序列维护(线段树)
  14. 全源最短路径 - floyd算法 - O(N ^ 3)
  15. 3 | 复杂度分析(上):如何分析、统计算法的执行效率和资源消耗?
  16. ASP.NET CORE中使用SESSION
  17. 微服务调用组件Ribbon底层调用流程分析
  18. 同步Buck芯片的自举电容原理解析
  19. 排队系统拥塞控制的位置
  20. COOKIE与SESSION比较

热门文章

  1. java生命游戏_实用---生命游戏 Java
  2. 慕课网clickhous
  3. 原神私服 grasscutter搭建及食用教程
  4. Rhel 7.3 基本操作
  5. [转帖]双剑合璧:CPU+GPU异构计算完全解析
  6. MANIFEST.MF属性读写
  7. 量化交易入门——数学模型应用于投机交易
  8. java 切换系统输入法,Android7.0更换系统默认输入法
  9. 三阶实对称矩阵含重根的快速还原秒杀法
  10. Leetcode——537. Complex Number Multiplication