公共的代码包括公用的vue组件和js代码,从维护性的角度来说应该放到主包才对,

但是主包有大小限制,如果把2个分包都在用的代码放到主包里面那2M很快就满了。

所以该放在哪?我的方案是从维护的角度放在主包,然后用webpack的插件在打包的时候

把只有分包在用的vue和js代码分别放到分包中去。

uni的文档在manifest.json中有这么一个配置"optimization":{"subPackages":true},

官方有介绍我就不重复了,从代码的角度来说就是如果你的主包js(注意uni只处理了js)只有一个分包在用(注意是1个)那么uni会通过SplitChunksPlugin的cacheGroups来实现此功能。

uni的优化从项目的实际情况来说处理的还不够,所以我自己写了2个插件分别处理公共的vue和js

插件

uni-optimize 是我看了uni源码之后发现的所有可安全优化的地方,包括压缩空间和提升打包速度2个方面

uni-optimize中的transfer-js-plugin插件处理迁移只有分包在用的js

分包js插件需要开启manifest.json中的以下配置:"optimization":{"subPackages":true}

uni-optimize中的transfer-vue-plugin插件处理迁移只有分包在用的vue

可以直接把代码拷下来使用,也可以npm下载

原理有些复杂,一篇文章讲不清,感兴趣的可以直接去github上看,迁移vue的分包插件已经上线没什么问题,迁移js的分包插件因为主包大小够用就还没有上线,所以要用的话要辛苦测试了。

最新文章

  1. Oracle客户端连接远程Oracle服务中文乱码问题
  2. iOS 用xib自定义view控件 debug笔记
  3. Android线程中设置控件
  4. MEF
  5. Eclips将lib打入war中
  6. qml json 解析到 ListView
  7. ffmpeg转码时对编码率和固定码率的处理
  8. Mysql 多表查询
  9. RTL-SDR基础环境安装
  10. 阿里云SSD等磁盘挂载方法(详细步骤完整版)
  11. Java之【线程通信】--标志位练习2
  12. Spring源码情操陶冶-AbstractApplicationContext#registerListeners
  13. iOS根据域名获取ip地址
  14. gunicorn开启、关闭和重启
  15. 【机器学习】Octave 实现逻辑回归 Logistic Regression
  16. pt-table-checksum工具MySQL主从复制数据一致性
  17. 团队作业——Alpha冲刺 7/12
  18. 软件工程学习之小学四则混合运算出题软件 Version 1.1 设计思路及感想
  19. HDU6027 Easy Summation 2017-05-07 19:02 23人阅读 评论(0) 收藏
  20. winform暴走表情制作器

热门文章

  1. The Luckiest number(hdu2462)
  2. HashMap及LinkedHashMap
  3. matplotlb 进阶之Styling with cycler
  4. JSP、JSTL标签、EL表达式
  5. SpringBoot中JPA使用动态SQL查询
  6. springboot的build.gradle增加阿里仓库地址以及eclipse增加lombok
  7. C/C++ Qt 运用JSON解析库 [基础篇]
  8. 双buffer实现无锁切换
  9. Docker_安装和卸载(2)
  10. Linux7系统开通防火墙端口