IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue项目优化首屏加载速度 -> 正文阅读

[JavaScript知识库]vue项目优化首屏加载速度

cdn优化

  • 背景:后台管理系统部署到线上环境后,清空浏览器缓存,第一次加载时,加载速度达到了9秒之久。
  • 在这里插入图片描述
  • 从上面请求的接口可以看出来,第一次请求主要是app.js文件和chunk-libs.js文件,和一些element的第三方组件库请求速度很慢。
  • 分析:app.js和chunk-libs.js包太大的原因,主要是因为项目中npm 下载引入的依赖包,都会打包进来,所以加载很慢
  • 解决方案:
    • 将项目依赖的第三方组件库,才有cdn引入的方式,来减少打包体积。但是cdn引入,也有缺点,就是地址的不稳定性等等。
    • 这里优化采用的是将第三方的库的代码下载下来,放项目本地,进行引入,来减少打包的体积
      在这里插入图片描述
      在这里插入图片描述
  • 1.在public中新建js文件夹,将需要引入的包放入。
  • 2.public/index.html文件
  <link rel="stylesheet" href="https://unpkg.com/element-ui@2.15.6/lib/theme-chalk/index.css">
    <% if (process.env.NODE_ENV=='production' ) { %>
    <script src="/js/vue.min-2.6.14.js"></script>
    <script src="/js/echarts.min-4.9.0.js"></script>
    <script src="/js/element-ui-2.15.6.js"></script>
    <script src="/js/aliyun-oss-sdk-6.17.1.min.js"></script>
    <script src="/js/axios-0.26.1.min.js"></script>
    <% } %>
      <% if (process.env.NODE_ENV=='development' ) { %>

        <script src="/js/vue-2.6.14.js"></script>
        <script src="/js/echarts-4.9.0.js"></script>
        <script src="/js/element-ui-2.15.6.js"></script>
        <script src="/js/aliyun-oss-sdk-6.17.1.js"></script>
  
        <script src="/js/axios-0.26.1.min.js"></script>
        <% } %>

  • 在对应的位置引入,各种js引入时需要注意位置,如果放在header中,会阻塞页面的加载,所以我放body里面了。

  • 在生产环境最好引入压缩的源码,这样体积更小

  • 需要注意的是:

    1. 如果项目使用的是history路由,刷新会找不到本地文件,文件引入时需要使用
    	<script src="/js/vue-2.6.14.js"></script>
    	下面这种方式 不可用
    	<script src="./js/vue-2.6.14.js"></script> 
    
    1. 不然刷新页面会包报在这里插入图片描述
    2. element依赖于vue必须先引入vue,引入后不需要在mainjs中import加载
    3. main.js的以下代码注销或者删除
     import Vue from 'vue'
     import Element from 'element-ui'
     import './assets/styles/element-variables.scss'
     import 'element-ui/lib/theme-chalk/icon.css'
     Vue.use(Element, {
     size: Cookies.get('size') || 'medium', // set element-ui default size
    })
    
  • 3.vue.config.js

  configureWebpack: {
    externals: {
      echarts: 'echarts',
      vue: 'Vue',
      axios: 'axios',
      'element-ui': 'ELEMENT',
      'ali-oss': 'OSS',
    },
  },
  • 4.重启项目
  • 5.优化完后的项目
    • 首次加载是2s,之前是9秒,减少了9秒,虽然没到毫秒,但是速度也提高不少
      在这里插入图片描述

Gzip压缩

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:15:01  更:2022-04-27 11:15:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:01:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码