vue项目打包数百M解决
vue项目打包数百M解决
项目打包之后500多M,每次打包/部署服务器都崩,分析之后,发现是引用不规范导致的,一些经常用到的组件,当时的开发人员没有全局引入,而是各个vue/js中引入的...
解决方法
- 关闭map
这个项目之前就关了...依然这么大(关闭map项目可以减少3/5,也就是说,没关map会超过1G...)
- 找到重复引入的组件,在
main.js
中引入
由于只是全局引入一下,其他地方的代码没变,也就不会有兼容问题
这个方法让我的项目从562M减少到了正常的61M(其中有20M是图片,js文件夹33.9M);之后可以引入CDN继续优化项目
步骤
关闭map
\config\index.js
的module.exports.build
的productionSourceMap
设置为false,打包的时候就不会生成map文件,打包速度也会提升很多;
处理重复引入组件
使用 webpack-bundle-analyzer
进行分析(配置方法就不写了)
打包之后,要过一段时间才会出分析结果
- 可以看到,项目中
cesium
一直重复打包; - 在
main.js
中引入
import * as Cesium from 'cesium/Cesium'
#不知道怎么引的话,全局搜 cesium ,看看其他地方是怎么引的
- 此时再次打包,项目就只有160M了,再次弹出的分析页面中,有几个组件不大,但是几乎所有的js中都出现了,也一并引入
import * as turf from '@turf/turf'
import L from "leaflet";
import JsZip from 'jszip'
- 再次打包,项目只有96M,此时最大的是
src/js
中的文件夹,里面自定义的js文件,在项目中一直重复引入,
# 引入ser/js文件夹,webpage直接写 ./src/js 失败了,就换了@,@代表src文件夹
const modulesFiles = require.context("@/js", true, /\.js$/);
- 此时项目就只有61.6M了
完成!!!
项目还可以继续优化,比如vue,element-ui等组件可以改为CDN资源:
标签:
vue
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示