问题
由于这次项目是在初学 Vue 之后的第一个正式项目,没有考虑到类似 路由懒加载、 按需加载的问题 ,所以呢,也算是没经验。
到了这些天,项目写得差不多了,准备放到服务器测试,才发现这个问题。
优化前:
app.js 2.3MB vendor.js 2.4MB vendor.css 612kB app.js.map 9.13MB vendor.js.map 16.21MB //不一一列举....
优化
接下来看看优化方法。
优化步骤1: 不生成.map文件
在 webpack.prod.cong.js 文件下,修改配置项 sourceMap 设置为 false 或者删除:
new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }, // sourceMap: true //将sourceMap关闭就不会打包出.map文件 }),
这样的话,开发环境就不会生成 .map 文件。
优化步骤2: 按需加载
对于项目中,一些 通用 或者 不是特别差异 的组件可以使用按需加载,在需要的时候加载即可,并且会自动缓存。
这时候需要在 router 文件夹下的 index.js 文件修改路由配置中的 组件引入 方式:
Vue.use(Router) export default new Router({ routes:[{ path:"/", component:function(resolve){ require(["./../components/Index"],resolve) } }] })
这样的话,这个组件就会在你需要加载的时候才会加载。
优化步骤3: VueRouter的懒加载
官方文档
在 vue-router 的模块引入,将默认的 import .. from .. 引入方式,修改为一步。如下:
const Foo = () => import("/Foo.vue) ```
然后在 `配置路由` 中,和之前一样使用:
Vue.use(Router) export default new Router({ routes:[{ path:”/“, component:Foo }] })
优化步骤4:将大的第三方包通过<script>标签引入
一般将类似 `echarts` 这种比较大的第三方依赖包,通过 `<script></script>` 标签来引入的话,会很大程度缩小打包的大小。"htmlcode">
module.exports = { entry:{...}, output:{...}, resolve:{...}, module:{...}, externals:{ "echarts":"echarts" //不打包的包名 } }
然后在 index.html 中用 <script></script> 标签引入依赖包的CDN或者其他地址。
优化步骤5: 图片压缩
这个不用怎么说,有个地址很好用,推荐下:tinypng
优化后
通过这几步骤,优化完成的每个文件都会缩小好多倍:
app.js 136.2kB vendor.js 213.2kB vendor.css 612kB //css 这个我还没办法 app.js.map 0MB vendor.js.map 0MB
更多关于VUE压缩的方案大家可以看看下面的相关文章
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 群星《试音草原·女声篇》经典蒙古民歌[WAV+CUE][1G]
- 陈慧娴《永远是你的朋友》头版限量编号MQA-UHQCD2024[低速原抓WAV+CUE]
- 曼丽·女人三十《如果·爱》限量1:1母盘直刻[低速原抓WAV+CUE]
- 刘文正《流金三十年》[6N纯银镀膜][低速原抓WAV+CUE]
- 赵传.1994-精挑细选精选集【滚石】【WAV+CUE】
- 郑亚弦.2024-隔壁包厢603(EP)【发现梦想】【FLAC分轨】
- 文章.2004-被遗忘的时光【华博音乐】【WAV+CUE】
- 群星《青葱韶歌》原力计划·毕业季企划合辑[FLAC+分轨][661M]
- 群星《抖烧 DSD》抖音神曲 [WAV分轨][992M]
- 庾澄庆《哈林天堂》索尼音乐[WAV+CUE][1G]
- 英雄联盟全球总决赛多久打一次 全球总决赛举办频率介绍
- 第二届老头杯什么时候开始选人 第二届老头杯选人时间介绍
- 英雄联盟第二届老头杯什么时候开始 老头杯s2赛程时间队伍名单汇总
- AI赋能卓越显示技术共筑数字未来:三星显示器产品矩阵亮相2024进博会
- 技术剖析:天玑9400如何打造移动最强GPU和游戏体验?