如何优化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 19 Vue.js
vue动态合并单元格并添加小计合计功能示例
Nov 26 Vue.js
vue使用exif获取图片经纬度的示例代码
Dec 11 Vue.js
Vue实现指令式动态追加小球动画组件的步骤
Dec 18 Vue.js
Vue实现省市区三级联动
Dec 27 Vue.js
使用vue3重构拼图游戏的实现示例
Jan 25 Vue.js
idea编译器vue缩进报错问题场景分析
Jul 04 Vue.js
详解Vue router路由
Nov 20 Vue.js
Vue的过滤器你真了解吗
Feb 24 Vue.js
使用vue判断当前环境是安卓还是IOS
Apr 12 Vue.js
vue-cli3.x配置全局的scss的时候报错问题及解决
Apr 30 Vue.js
Vue Element plus使用方法梳理
Dec 24 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
如何开始收听短波广播
2021/03/01 无线电
PHP生成json和xml类型接口数据格式
2015/05/17 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
angularjs自定义ng-model标签的属性
2016/01/21 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
AngularJS 与百度地图的结合实例
2016/10/20 Javascript
深入理解JS继承和原型链的问题
2016/12/17 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
Python内置函数 next的具体使用方法
2017/11/24 Python
python斐波那契数列的计算方法
2018/09/27 Python
Python实现繁?转为简体的方法示例
2018/12/18 Python
简单了解python中对象的取反运算符
2019/07/01 Python
深入浅析Python 函数注解与匿名函数
2020/02/24 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
校长就职演讲稿
2014/01/06 职场文书
矿泉水广告词
2014/03/20 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
北京导游词
2015/02/12 职场文书
事业单位个人总结
2015/02/12 职场文书
病危通知单
2015/04/17 职场文书
老员工辞职信范文
2015/05/12 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
PHP策略模式写法
2021/04/01 PHP
Python办公自动化PPT批量转换操作
2021/09/15 Python