一套代码 + 多主题
本篇章重点提供这类需求的方案,一套小程序代码通过合理的工程化能力,实现多套不同主题的小程序发布。
代码仓库参考,请点击打开
核心思路
核心思路为配合 Coding 的流水线使用,利用 gulp 实现静态编译,以及云鸽 CMS 实现动态数据加载。
流水线
流水线最重要的事情为以下几个:
- 注入需要构建的小程序环境变量,例如
WXAPP=A
。 - 执行 gulp 静态编译工程,将对应的主题样式生成到指定地址。
- 利用
miniprogram-cli
自动上传到开发者后台。
Gulp 静态编译
Gulp 最主要实现以下几个事情:
- 读取环境变量,确定需要编译的小程序主体。
- 并发执行样式与静态配置文件的编译,生成到具体的目录地址。
CMS 系统加载动态数据
图片资源这类数据不适合直接存放到代码文件里,占用图片资源体积。这个时候可以考虑使用 CMS 进行统一的管理,并根据当前的小程序主动去加载对应配套的图片资源。
利用 CMS 可以整齐规划的整理每个小程序需要的图片和相关配置,并最终发布到 CDN 里,通过请求的方式进行动态的加载。
最后
最重要的一点就是,请将非最终小程序产物配置到 packOptions.ignore
上,让开发者工具自动忽略掉该目录以保持最终小程序体积是正常的。