如何优化vue打包文件过大


Posted in Vue.js onApril 13, 2022

vue打包生成的js文件过大优化

1.组件按需加载

现在大多的ui库都是以组件的形式进行处理,所以只需导入需要模块的即可

2.去掉生成map文件

打包时会生成map文件,而map文件一般都比较大,可以取消生成map文件

(1)config/index.js找到productionSourceMap把true改为false

3.cdn引入

通过外部引入的方式引入这些UI组件库,从而减少打包文件过大的问题

(1)index.html

引入外部文件,并且加上<router-view> 

如何优化vue打包文件过大

(2)main.js

去掉在页面引入vue和vue-router

如何优化vue打包文件过大

4.路由懒加载

如何优化vue打包文件过大

5.代码压缩

config/index.js 找到 productionGzip 把 false 改为 true

注意:要先安装compression-webpack-plugin

npm install --save-dev compression-webpack-plugin

6.最后

优化前:

如何优化vue打包文件过大

优化后:

如何优化vue打包文件过大

项目打包之后js文件太大问题

问题描述

前端项目打包之后.js文件太大,导致项目第一次加载的时候太慢,查阅各种解决方案资料,汇总以下几点:

1.使用cdn引入不怎么改变的第三方库

类似于

<script src="https://cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js"></script>
<script src="https://cdn.bootcss.com/vue/2.5.15/vue.min.js"></script>

webpack.base.conf.js 添加:

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

2.使用vue的懒加载

官网地址[https://router.vuejs.org/zh/guide/advanced/lazy-loading.html]

但是官网有一句

如果您使用的是 Babel,你将需要添加 syntax-dynamic-import 插件,才能使 Babel 可以正确地解析语法。

这个插件依赖于6.x.babel 需要注意

3.服务器和前端配置开启压缩

服务器nginx配置添加:

  gzip on;
  gzip_static on;  --这个很重要 不加的话 访问加载的还是未压缩的文件

前端配置config/index.js:

 productionGzip: true,

然后再引入插件 compression-webpack-plugin

需要注意版本  "compression-webpack-plugin": "^1.1.12",

前面两种 文件大小并没有减少太多 使用第三种的时候减少的最多。

Vue.js 相关文章推荐
如何在vue中使用kindeditor富文本编辑器
Dec 19 Vue.js
vue 在单页面应用里使用二级套嵌路由
Dec 19 Vue.js
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
vue form表单post请求结合Servlet实现文件上传功能
Jan 22 Vue.js
vue监听键盘事件的相关总结
Jan 29 Vue.js
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
Feb 23 Vue.js
Vue中避免滥用this去读取data中数据
Mar 02 Vue.js
vue实现同时设置多个倒计时
May 20 Vue.js
vue实力踩坑之push当前页无效
Apr 10 Vue.js
vue 数字翻牌器动态加载数据
Apr 20 Vue.js
vue组件vue-esign实现电子签名
Apr 21 Vue.js
vue ant design 封装弹窗表单的使用
Jun 01 Vue.js
使用vue判断当前环境是安卓还是IOS
Apr 12 #Vue.js
vue配置型表格基于el-table拓展之table-plus组件
Apr 12 #Vue.js
vue数据字典取键值项目的字典问题
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
vue选项卡切换的实现案例
分享一个vue实现的记事本功能案例
vue代码分块和懒加载非必要资源文件
Apr 11 #Vue.js
You might like
强烈推荐:php.ini中文版(1)
2006/10/09 PHP
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
2019/10/24 PHP
JQuery中层次选择器用法实例详解
2015/05/18 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
2017/01/08 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
2018/01/21 jQuery
vue mint-ui tabbar变组件使用
2018/05/04 Javascript
Angular封装搜索框组件操作示例
2019/04/25 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
python机器学习实战之树回归详解
2017/12/20 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
python迭代dict的key和value的方法
2018/07/06 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
python3下pygame如何实现显示中文
2020/01/11 Python
利用Python优雅的登录校园网
2020/10/21 Python
html+css3实现的登录界面
2020/12/09 HTML / CSS
本科生学习总结的自我评价
2013/10/02 职场文书
传播学毕业生求职信
2013/10/11 职场文书
智能电子应届生求职信
2013/11/10 职场文书
英文自荐信格式
2013/11/28 职场文书
学习十八大宣传标语
2014/10/09 职场文书
2014年计生协会工作总结
2014/11/21 职场文书
课堂打架检讨书200字
2014/11/21 职场文书
2016年五四青年节校园广播稿
2015/12/17 职场文书
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记