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 相关文章推荐
asp.net下利用js实现返回上一页的实现方法小集
Nov 24 Javascript
javascript document.execCommand() 常用解析
Dec 14 Javascript
Visual Studio中js调试的方法图解
Jun 30 Javascript
Jquery中巧用Ajax的beforeSend方法
Jan 20 Javascript
Javascript基础教程之比较null和undefined值
May 16 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
Sep 04 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
Nov 10 Javascript
Bootstrap Table使用整理(四)之工具栏
Jun 09 Javascript
JS中type="button"和type="submit"的区别
Jul 04 Javascript
vue router自动判断左右翻页转场动画效果
Oct 10 Javascript
详解vue静态资源打包中的坑与解决方案
Feb 05 Javascript
微信小程序通过websocket实时语音识别的实现代码
Aug 19 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
拼音码表的生成
2006/10/09 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
JS实战篇之收缩菜单表单布局
2016/12/10 Javascript
详解node nvm进行node多版本管理
2017/10/21 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
Python向excel中写入数据的方法
2019/05/05 Python
python实现按首字母分类查找功能
2019/10/31 Python
python实现七段数码管和倒计时效果
2019/11/23 Python
移动web模拟客户端实现多方框输入密码效果【附代码】
2016/03/25 HTML / CSS
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
医药类个人求职的自我评价
2014/02/12 职场文书
学术会议主持词
2014/03/17 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
购房意向书范本
2014/04/01 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
关爱老人标语
2014/06/21 职场文书
员工工作能力评语
2014/12/31 职场文书
北京故宫导游词
2015/01/31 职场文书
教师病假条范文
2015/08/17 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
《为人民服务》教学反思
2016/02/20 职场文书
晚会开幕词范文
2016/03/04 职场文书
范文之农村基层党建工作报告
2019/10/24 职场文书
基于python实现银行管理系统
2021/04/20 Python
Python 如何实现文件自动去重
2021/06/02 Python
python脚本框架webpy模板控制结构
2021/11/20 Python