Uniapp+UView+Uni-star打包小程序极简方案
一、减少主包体积
主包污染源(全局文件依赖)劲量独立导入
- components
- static
- main.js
- App.vue
- uni.css
分包配置缺陷,未配置manifest.json中mp-weixin节点
"usingComponents" : true,"lazyCodeLoading" : "requiredComponents","optimization" : {"subPackages" : true},
启用分包-pages.json配置subPackages
代码瘦身
- 删除uni-star中不重要功能,列如邮箱登录,web-view,实名,等不相关的模块
- 清理不相关或者无用的页面
- 页面动态加载策略,组件懒加载
资源瘦身
- 删除组件中含有static的静态目录,静态文件如果图标图片用网络连接代替,可放云文件或者cdn
- 必要的静态资源使用`imagemin`压缩:`npx imagemin src/**/*.png --out-dir dist` - WebP格式转换:`cwebp input.png -o output.webp` - 雪碧图合并:通过`css-sprite`工具生成
- 字体文件处理, 使用`fontmin`工具精简字体文件 - 仅保留常用字符集
说明:
开发期间多观察资源视图,观察依赖资源,若分包文件被打到主包,观察是否有被其他包依赖,多依赖文件属于公共文件
实测如图