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树型菜单类,希望朋友们一起进步
May 03 Javascript
JQuery 学习笔记01 JQuery初接触
May 06 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
Apr 12 Javascript
JS去掉第一个字符和最后一个字符的实现代码
Feb 20 Javascript
js控制鼠标事件移动及移出效果显示
Oct 19 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
Jun 04 Javascript
详解js类型判断
May 22 Javascript
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
elementUI table表格动态合并的示例代码
May 15 Javascript
Bootstrap实现省市区三级联动(亲测可用)
Jul 26 Javascript
vue使用nprogress加载路由进度条的方法
Jun 04 Javascript
JS代码编译器Monaco使用方法
Jun 11 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
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
php实现简单的语法高亮函数实例分析
2015/04/27 PHP
jquery 学习笔记一
2010/04/07 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
微信小程序 条件渲染详解
2016/10/09 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
详谈js使用in和hasOwnProperty获取对象属性的区别
2017/04/25 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
解决vue bus.$emit触发第一次$on监听不到问题
2020/07/28 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
python实现得到一个给定类的虚函数
2014/09/28 Python
python实现Adapter模式实例代码
2018/02/09 Python
django输出html内容的实例
2018/05/27 Python
python读取word文档,插入mysql数据库的示例代码
2018/11/07 Python
Python实现八皇后问题示例代码
2018/12/09 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
Python读取excel文件中带公式的值的实现
2020/04/17 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
牦牛毛户外探险服装:Kora
2019/02/08 全球购物
实习指导老师评语
2014/04/26 职场文书
师范学院毕业生求职信
2014/06/24 职场文书
财务会计专业自荐书
2014/06/30 职场文书
监理中标通知书
2015/04/16 职场文书
2015年幼师工作总结
2015/04/28 职场文书
python套接字socket通信
2022/04/01 Python
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL