vue项目首屏打开速度慢的解决方法


Posted in Javascript onMarch 31, 2019

最近接手了一个后台管理系统,技术栈主要是vue全家桶+elementui,老大打开测试环境页面的时候,说看到首页需要6秒钟,那如何进行优化呢?

首先我们需要安装webpack-bundle-analyzer

// webpack.prod.conf.js
if (config.build.bundleAnalyzerReport) {
 const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
 webpackConfig.plugins.push(new BundleAnalyzerPlugin())
}
// config/index.js
build: {
 // Run the build command with an extra argument to
 // View the bundle analyzer report after build finishes:
 // `npm run build --report`
 // Set to `true` or `false` to always turn it on or off
 bundleAnalyzerReport: process.env.npm_config_report
}

运行npm run build --report

vue项目首屏打开速度慢的解决方法

我们可以看到,vendor中的elementui占了500k,怎么优化呢?

在webpack配置文件中增加,接下来就是见证奇迹的时刻。

externals: {
  'vue': 'Vue',
  'element-ui': 'ELEMENT',
  'axios': 'axios'
 },

再看一下我们的vendor体积

vue项目首屏打开速度慢的解决方法

vendor一共才195k

那缺少的elementui文件去哪里找呢?答案是cdn引用。

vue项目首屏打开速度慢的解决方法

之前项目里还有引用moment,但是这个库实在是太大了,在github上我找到一个跟momentapi完全一样的库,但是文件大小只要2kb。

vue项目首屏打开速度慢的解决方法

其他优化方法还有ssr,这个最好用nuxtjs来做,自己配置ssr实在太麻烦了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery validator 插件增加日期比较方法
Feb 21 Javascript
如何使用Jquery获取Form表单中被选中的radio值
Aug 09 Javascript
jQuery中$.extend()用法实例
Jun 24 Javascript
js实现文字超出部分用省略号代替实例代码
Sep 01 Javascript
jQuery Dialog 取消右上角删除按钮事件
Sep 07 Javascript
JavaScript实现大图轮播效果
Jan 11 Javascript
基于JavaScript实现活动倒计时效果
Apr 20 Javascript
彻底理解js面向对象之继承
Feb 04 Javascript
收集前端面试题之url、href、src
Mar 22 Javascript
vue 自定义提示框(Toast)组件的实现代码
Aug 17 Javascript
vue服务端渲染操作简单入门实例分析
Aug 28 Javascript
p5.js实现动态图形临摹
Oct 23 Javascript
jQuery事件blur()方法的使用实例讲解
Mar 30 #jQuery
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 #Javascript
使用post方法实现json往返传输数据的方法
Mar 30 #Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
Mar 30 #Javascript
微信公众平台获取access_token的方法步骤
Mar 29 #Javascript
vue路由--网站导航功能详解
Mar 29 #Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
Mar 29 #Javascript
You might like
hessian 在PHP中的使用介绍
2010/12/13 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
2016/12/25 Javascript
整理一些最近经常遇到的前端面试题
2017/04/25 Javascript
Node中使用ES6语法的基础教程
2018/01/05 Javascript
ajax与jsonp的区别及用法
2018/10/16 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
如何使用Node.js爬取任意网页资源并输出PDF文件到本地
2019/06/17 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
用python写asp详细讲解
2013/12/16 Python
Python二分法搜索算法实例分析
2015/05/11 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
Python实现读取并保存文件的类
2017/05/11 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
python时间序列数据转为timestamp格式的方法
2020/08/03 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
法律工作求职自荐信
2013/10/31 职场文书
后勤主管工作职责
2013/12/07 职场文书
出国导师推荐信
2014/01/16 职场文书
保险专业大学生职业规划书
2014/03/03 职场文书
产品开发计划书
2014/04/27 职场文书
商务经理岗位职责
2014/07/30 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
给客户的感谢信
2015/01/21 职场文书
计算机专业自荐信
2015/03/05 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python