如何优化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页面刷新,数据丢失的问题
Nov 24 Vue.js
Vue用mixin合并重复代码的实现
Nov 27 Vue.js
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 Vue.js
vue-calendar-component 封装多日期选择组件的实例代码
Dec 04 Vue.js
基于vue与element实现创建试卷相关功能(实例代码)
Dec 07 Vue.js
如何在vue中使用kindeditor富文本编辑器
Dec 19 Vue.js
vue 使用rules对表单字段进行校验的步骤
Dec 25 Vue.js
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
Jan 08 Vue.js
vue实现按钮切换图片
Jan 20 Vue.js
Vue中插槽slot的使用方法与应用场景详析
Jun 08 Vue.js
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
vue+echarts实现多条折线图
Mar 21 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实现在站点里面添加邮件发送的功能
2020/04/28 PHP
php简单的上传类分享
2016/05/15 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
js输出列表实现代码
2010/09/12 Javascript
Ext 今日学习总结
2010/09/19 Javascript
ie9 提示'console' 未定义问题的解决方法
2014/03/20 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
jQuery针对各类元素操作基础教程
2014/08/29 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
JavaScript的函数式编程基础指南
2016/03/19 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
Js面试算法详解
2018/04/08 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
[01:46]DOTA2上海特锦赛小组赛英文解说KotlGuy采访
2016/02/27 DOTA
python脚本实现查找webshell的方法
2014/07/31 Python
快速了解Python相对导入
2018/01/12 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
2019/09/30 HTML / CSS
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
Rakuten Kobo台湾:电子书、eReaders和Reading应用程式
2017/11/24 全球购物
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
2016/04/13 面试题
幼儿园安全检查制度
2014/01/30 职场文书
八年级语文教学反思
2014/02/11 职场文书
如何写好自荐信
2014/04/07 职场文书
我的中国梦演讲稿高中篇
2014/08/19 职场文书
中国梦演讲稿5分钟
2014/08/19 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python