Skip to content
On this page

一套代码 + 多主题

本篇章重点提供这类需求的方案,一套小程序代码通过合理的工程化能力,实现多套不同主题的小程序发布。

代码仓库参考,请点击打开

核心思路

核心思路为配合 Coding 的流水线使用,利用 gulp 实现静态编译,以及云鸽 CMS 实现动态数据加载。

image-20230508141948579

流水线

流水线最重要的事情为以下几个:

  1. 注入需要构建的小程序环境变量,例如 WXAPP=A
  2. 执行 gulp 静态编译工程,将对应的主题样式生成到指定地址。
  3. 利用 miniprogram-cli自动上传到开发者后台。

Gulp 静态编译

image-20230508143230056

Gulp 最主要实现以下几个事情:

  1. 读取环境变量,确定需要编译的小程序主体。
  2. 并发执行样式与静态配置文件的编译,生成到具体的目录地址。

CMS 系统加载动态数据

图片资源这类数据不适合直接存放到代码文件里,占用图片资源体积。这个时候可以考虑使用 CMS 进行统一的管理,并根据当前的小程序主动去加载对应配套的图片资源。

image-20230508143737401

利用 CMS 可以整齐规划的整理每个小程序需要的图片和相关配置,并最终发布到 CDN 里,通过请求的方式进行动态的加载。

image-20230508144020280

最后

最重要的一点就是,请将非最终小程序产物配置到 packOptions.ignore 上,让开发者工具自动忽略掉该目录以保持最终小程序体积是正常的。

image-20230508145737546

Released under the MIT License.