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 相关文章推荐
javascript随机将第一个dom中的图片添加到第二个div中示例
Oct 08 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
Sep 01 Javascript
js面向对象之静态方法和静态属性实例分析
Jan 10 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
Feb 27 Javascript
Js的Array数组对象详解
Feb 22 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
May 05 Javascript
基于jquery插件编写countdown计时器
Jun 12 Javascript
JS正则替换掉小括号及内容的方法
Nov 29 Javascript
jQuery实现复选框的全选和反选
Feb 02 Javascript
javascript设计模式之装饰者模式
Jan 30 Javascript
Element Steps步骤条的使用方法
Jul 26 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
Nov 12 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
2014过年倒计时示例
2014/01/31 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
PHP根据key删除数组中指定的元素
2019/02/28 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
2020/10/28 PHP
DOM 中的事件处理介绍
2012/01/18 Javascript
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
2016/05/12 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
2017/04/28 Javascript
详解vue前后台数据交互vue-resource文档
2017/07/19 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
Angular(5.2->6.1)升级小结
2018/12/27 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
微信小程序实现banner图轮播效果
2020/06/28 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
vue+Element中table表格实现可编辑(select下拉框)
2020/05/21 Javascript
[02:43]DOTA2英雄基础教程 半人马战行者
2014/01/13 DOTA
[06:23]2014DOTA2西雅图国际邀请赛 小组赛7月12日TOPPLAY
2014/07/12 DOTA
[48:05]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VGJ.T vs VP
2018/03/31 DOTA
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
Python模拟登录12306的方法
2014/12/30 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2018/12/28 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
妇产科护士自我鉴定
2013/10/15 职场文书
房地产开发项目建议书
2014/05/16 职场文书
刑事辩护授权委托书范本
2014/10/17 职场文书
先进教育工作者事迹材料
2014/12/23 职场文书
趵突泉导游词
2015/02/03 职场文书
劳资员岗位职责
2015/02/13 职场文书